728x90
https://programmers.co.kr/learn/courses/30/lessons/86491
코딩테스트 연습 - 최소직사각형
[[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를 찾는게 가장 중요하다.
회전을 고려한 패턴을 찾아보니, 회전을 한다 생각하고
1. 모든 직사각형에 대하여 직사각형의 두 변 중, 긴 것을 W, 짧은 것을 H로 바꿔주기
2. 각각 W와 H에서 최대값들을 찾은 후 곱한 값이 답이다.
def solution(sizes):
maxW = 0
maxH = 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]
maxW = max(maxW, sizes[i][0])
maxH = max(maxH, sizes[i][1])
answer = maxW *maxH
return answer
'Python > CoTe' 카테고리의 다른 글
[programmers] 로또의 최고 순위와 최저 순위 (0) | 2022.02.21 |
---|---|
[programmers] 없는 숫자 더하기 (0) | 2022.02.21 |
[programmers] 문자열 내 마음대로 정렬하기 (0) | 2022.02.21 |
[programmers] 크레인 인형 뽑기 (0) | 2022.02.19 |
[programmers] 완주하지 못한 선수 (0) | 2022.02.19 |