[Programmers] [Lv.1] [Swift] 최소직사각형

doyeonjeong_·2022년 8월 11일
0

프로그래머스

목록 보기
25/35
post-thumbnail

문제

최소직사각형

문제파악하기

  • 회전시켰을 때를 고려하라고 해서 처음엔 어렵게 느껴졌다.
  • 근데 각 요소를 정렬시키면 왼쪽이 작은값, 오른쪽이 큰 값이 되니까 회전했다고 볼 수 있었다.
  • 예를 들어 첫번째 예시인 [[60, 50], [30, 70], [60, 30], [80, 40]] 이 배열은
    각 요소를 정렬시키면 [[50, 60], [30, 70], [30, 60], [40, 80]]이 되고,
    각 요소의 왼쪽을 w, 오른쪽을 h라고 하고 각각의 max값을 곱해주면 지갑의 최소값이 된다.

풀이

import Foundation

func solution(_ sizes:[[Int]]) -> Int {
    var sizes = sizes, w = 0, h = 0
    
    for i in 0 ..< sizes.count {
        sizes[i] = sizes[i].sorted()
        w = max(w, sizes[i][0])
        h = max(h, sizes[i][1])
    }
    
    return w * h
}
profile
블로그 이사중 🚚 byukbyak.tistory.com

0개의 댓글