44번 최소 직사각형
def solution(sizes):
answer = 0
# 긴 길이가 가로로 가도록 바꾸기
for i in range(len(sizes)) :
if sizes[i][0] < sizes[i][1] :
sizes[i][0], sizes[i][1] = sizes[i][1], sizes[i][0]
else :
continue
a = []
b = []
# 각 가로 세로 길이 비교하고자 각자 분리
for n in range(len(sizes)):
a.append(sizes[n][0])
b.append(sizes[n][1])
# max 사용해서 구하기
answer = max(a)*max(b)
return answer
> 마음에 드는 답안
def solution(sizes):
row = 0
col = 0
for a, b in sizes:
if a < b:
a, b = b, a
row = max(row, a)
col = max(col, b)
return row * col
> 한 줄 답안
def solution(sizes):
return max(max(x) for x in sizes) * max(min(x) for x in sizes)
# max(x) -> max(가로, 세로)
45번 시저 암호
> 아스키코드 숫자를 문자로 : chr
> 아스키코드 문자를 숫자로 : ord
def solution(s, n):
answer = ''
for i in range(len(s)) :
# 공백은 공백으로
if s[i] == ' ' :
answer += ' '
else :
#ord와 chr을 활용
m = ord(s[i]) + n
if ord(s[i]) <= 90 and m > 90:
answer += chr(m-26)
elif ord(s[i]) <= 122 and m > 122:
answer += chr(m-26)
else :
answer += chr(m)
return answer
> isupper()와 islower()..!
def solution(s, n):
s = list(s)
for i in range(len(s)):
if s[i].isupper():
s[i]=chr((ord(s[i])-ord('A')+ n)%26+ord('A'))
elif s[i].islower():
s[i]=chr((ord(s[i])-ord('a')+ n)%26+ord('a'))
return "".join(s)
46번 숫자 문자열과 영단어
> isdigit() / isalpha() 활용
def solution(s):
arr = ['zero','one','two','three','four','five','six','seven','eight','nine']
answer = ''
che = ''
for i in range(len(s)):
if s[i].isdigit():
answer += s[i]
else :
che += s[i]
if che in arr:
answer += str(arr.index(che))
che = ''
answer = int(answer)
return answer
> 간결한 답안..👏👏
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"}
answer = s
for key, value in num_dic.items():
answer = answer.replace(key, value)
return int(answer)
'[스파르타코딩클럽]데이터분석 과정 > PYTHON' 카테고리의 다른 글
[Python 코드카타] 50 ~ 51번 (프로그래머스) (0) | 2024.01.20 |
---|---|
[Python 코드카타] 47 ~ 49번 (프로그래머스) (1) | 2024.01.19 |
[Python 코드카타] 41 ~ 43번 (프로그래머스) (0) | 2024.01.17 |
[Python 코드카타] 39 ~ 40번(프로그래머스) (1) | 2024.01.14 |
[Python 코드카타] 37번 ~ 38번 (프로그래머스) (0) | 2024.01.12 |