[완전탐색_Level1] 최소직사각형

하복치·2024년 5월 10일
3

프로그래머스

목록 보기
18/27
post-thumbnail
post-custom-banner

문제 설명

입출력 예

🗝️나의 풀이

# sizes의 원소는 [w, h] 형식
def solution(sizes):
    max_width = 0
    max_height = 0
    
    for width, height in sizes:
        max_width = max(max_width, max(width, height))
        max_height = max(max_height, min(width, height))
    
    return max_width * max_height

🔎다시보기👀

각 사각형의 너비와 높이를 비교하여 최대 너비와 최대 높이만 찾되 height > width 인 경우에는 두 값을 서로 바꾸기만 하면 되는 문제였다.

✔️ 최대 너비와 최대 높이를 한 번의 반복으로 해결

  1. 반복문을 돌리며 높이와 너비 중 최대 값을 max_width와 비교하여 큰 값을 max_width에 넣고 최소 값을 max_height와 비교하여 max_height에 넣는다.
  2. 반복문이 끝나고 추출된 max_height와 max_width를 곱하면 모든 명함을 수납할 수 있는 가장 작은 지갑의 크기가 나온다.

post-custom-banner

0개의 댓글