Algorithm

최소직사각형 / 프로그래머스

김예나 2025. 1. 24. 13:42

 

1. 먼저, 세로가 가로보다 더 크다면 명함을 돌린다 

2. 돌린 후에 가로와 세로의 최댓값을 찾는다

 

def solution(sizes):
    rotated = []
    # 가로, 세로 길이 중에서 더 긴 값을 가로로 두기 -> 돌린다
    for i in sizes:
        if i[0] < i[1]:
            i = [i[1], i[0]]
        rotated.append(i)

    # 모든 명함이 들어갈 수 있는 크기여야 하기 때문에 최댓값 추출
    max_w = max(i[0] for i in rotated)
    max_h = max(i[1] for i in rotated)

    return max_w * max_h