한 걸음씩

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

Programmers

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

winter17 2023. 7. 17. 11:12

https://school.programmers.co.kr/learn/courses/30/lessons/86491

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

풀이 과정

function solution(sizes) {
    let width = []
    let height = []
    for (let i = 0; i < sizes.length; i++){
        const [x, y] = sizes[i]
        width.push(Math.max(x, y))
        height.push(Math.min(x, y))
    }
    return Math.max(...width) * Math.max(...height);
    
}

 

각 배열의 요소는 배열인데(이차원 배열이니까) 그 배열에서 큰 값은 width, 작은 값은 heigth변수에 담는다

(width배열에서 가장 큰 값) * (heigth배열에서 가장 큰 값)을 구하면 답이 된다


리뷰

사실 완전히 문제를 이해한 게 아니라 다른 사람이 제공한 힌트를 보고 풀었다.

가로 * 세로에 꽂히면 문제를 풀기 힘들어진다. 주어진 배열 순서대로 가로, 세로가 아니라 그 배열에서 큰 값은 가로, 작은 것은 세로가 되어 그중에 가장 큰 값을 구해야 답을 구할 수 있다.