반응형
안녕하세요. 개발 중인 정주입니다.
오늘은 프로그래머스 - 최소직사각형 문제를 풀었습니다.
목차
Github
문제 링크
https://programmers.co.kr/learn/courses/30/lessons/86491
풀이
너비에 최대값을, 높이에 최소값을 배치하고 모든 너비 중 최대값, 모든 높이 중 최대값을 곱하여 면적을 구하며 됩니다.
처음에는 삼항 연산자를 이용했는데요.
풀고 나니 min(), max()가 있는데 왜 삼항 연산자를 썼을까 어이가 없더라고요.
적절한 메서드가 떠오르도록 연습을 해야겠습니다.
전체 코드
import Foundation
func solution(_ sizes:[[Int]]) -> Int {
var width = 0, height = 0
sizes.forEach {
width = max(width, $0.max()!)
height = max(height, $0.min()!)
}
return width * height
}
let sizes = [[60, 50], [30, 70], [60, 30], [80, 40]]
print(solution(sizes))
아직은 초보 개발자입니다.
더 효율적인 코드 훈수 환영합니다!
공감과 댓글 부탁드립니다.
반응형