[programmers](python) 최소 직사각형

berry ·2022년 6월 19일
0

Algorithm

목록 보기
74/77
post-thumbnail

🧩 문제

최소 직사각형


🧩 문제 해석

모든 크기의 명함을 담을 수 있는 지갑을 만드는 문제이다.
지갑을 가로 세로 구분 없이 넣을 수 있는 지갑의 최소 크기를 구하는 것이므로, 지갑을 회전한 크기를 포함하여 모든 명함을 넣을 수 있는 가장 작은 크기를 구하면 된다.

  • w가 h보다 작을 경우 w와 h를 바꿔줌
  • w들이나 h들 중에 가장 크면 w와 h 업데이트

🏁 내풀이

# Programmers _ Lv 1 _ 최소 직사각형

def solution(sizes):
    # 명함 크기 저장할 변수
    wallet = sizes[0]
    for i in sizes:
        # 가로 길이보다 세로 길이가 길면
        if i[0] < i[1]:
            # 명함 회전
            i[0], i[1] = i[1], i[0]
        # 지갑의 크기와 명함의 크기 비교 후 큰 값을 지갑의 크기로 선택
        wallet[0] = max(wallet[0], i[0])
        wallet[1] = max(wallet[1], i[1])
        # 면적 크기
        answer = wallet[0] * wallet[1]
    return answer

profile
Engineer

0개의 댓글