개발 모음집/Programmers
[프로그래머스] 최소 직사각형
wonos
2022. 4. 5. 15:17
코딩테스트 연습 - 최소직사각형
[[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133
programmers.co.kr
아이디어
각 w, h를 비교해서 둘 중 큰 값을 한 리스트에 넣고 나머지를 리스트로 만든다. 두 개의 리스트 중 가장 큰 값을 뽑아서 곱하면 된다.
- w, h 리스트를 만든다.
- for문을 돌면서 w, h 중 큰 값은 w리스트 작은 값은 h리스트에 담는다.
- 두 개의 리스트에서 가장 큰 값이 곱한 값이 답이다.
다른 사람 풀이 1
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)
다른사람 풀이 2
def solution(sizes):
return max(max(x) for x in sizes) * max(min(x) for x in sizes)