728x90
1. 문제
2. 코드
첫번째 방법
def solution(sizes):
return max(max(x) for x in sizes) * max(min(x) for x in sizes)
두번째 방법
solution = lambda sizes: max(sum(sizes, [])) * max(min(size) for size in sizes)
세번째 방법
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):
w = []
h = []
for i in range(len(sizes)):
if sizes[i][0] >= sizes[i][1]:
w.append(sizes[i][0])
h.append(sizes[i][1])
else:
h.append(sizes[i][0])
w.append(sizes[i][1])
return max(w) * max(h)
처음에 이렇게 풀었는데 첫번째 풀이처럼 효율적인 방법이 있을것이라고 예상했다 ㅎㅎ
'프로그래밍 > 알고리즘' 카테고리의 다른 글
프로그래머스 - k의 개수 (0) | 2023.10.04 |
---|---|
프로그래머스 - 카펫 파이썬 (0) | 2023.09.04 |
프로그래머스 - 징검다리 파이썬 (0) | 2023.07.25 |
프로그래머스 - 저주의 숫자 3 파이썬 (0) | 2023.07.17 |
간단한 문제 코드길이 점점 줄여나가기 (0) | 2023.07.14 |
댓글