본문 바로가기

CodingTest/Programmers

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

/  제출 1  /

 

def solution(sizes):
    answer = 0
    max_width = 0
    max_height = 0
    for size in sizes:
        w,h = size
        if w < h:
            w, h = h, w
        max_width = max(max_width, w)
        max_height = max(max_height, h)

    return max_width*max_height

 

채점 결과
정확성: 100.0
합계: 100.0 / 100.0

 

처음에 문제 해결방식이 이해가 안 갔는데, 노트에 각 예제를 써서 차근차근 확인해보니 풀이가 떠올려졌습니다.

width와 height라는 정의에 매몰되지 않고, 그냥 직사각형이라고 생각해서 각 직사각형의 긴 변들끼리 비교하고 짧은 변들끼리 비교하면 되겠다 싶었습니다. 그래서 한 쪽으로 몰아주는 과정을 거쳐서 max,min으로 풀어냈습니다.

 

앗 불필요한 answer변수를 지우지 않고 제출했네요. 이런 부분 꼼꼼히 수정해 제출하는 습관을 가집시다.