# 최소 직사각형
# 모든 명함의 가로 길이와 세로 길이를 나타내는 2차원 배열 sizes가 매개변수로 주어집니다.
# 모든 명함을 수납할 수 있는 가장 작은 지갑을 만들 때, 지갑의 크기를 return 하도록 solution 함수를 완성해주세요.
# 내 코드
못풀었음
# 다른 사람 코드
def solution(sizes):
# 가로세로 상관말기
width = []
height = []
answer = 0
for i in range(len(sizes)):
width.append(max(sizes[i]))
height.append(min(sizes[i]))
answer=max(width)*max(height)
return answer
## sizes에서 가로세로 상관없이 큰수와 작은수로 나누고 큰수중에 가장 큰 수, 작은 수 중에 가장 큰 수 가져오기
# 시저 암호
# 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다.
# 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀면 "a"가 됩니다.
# 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요.
# 내 코드
def solution(s, n):
answer = ''
for i in s:
if i == ' ':
answer += i
else:
# 65-90 97-122
num = ord(i)
if num > 64 and num < 91:
if num+n > 90:
answer += chr(num+n - 26)
else:
answer += chr(num+n)
if num > 96 and num < 123:
if num+n > 122:
answer += chr(num+n - 26)
else:
answer += chr(num+n)
return answer
# 숫자 문자열과 영단어
# 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다.
# 1478 → "one4seveneight"
# 234567 → "23four5six7"
# 10203 → "1zerotwozero3"
# 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다.
# s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요.
# 내 코드
def solution(s):
num_dic = {"zero":"0", "one":"1", "two":"2", "three":"3", "four":"4", "five":"5", "six":"6", "seven":"7", "eight":"8", "nine":"9"}
for key,value in num_dic.items():
s = s.replace(key,value)
return int(s)