최소 직사각형

hyuri·2023년 9월 22일
0

코딩테스트 연습

목록 보기
31/70

내가 작성한 답

function solution(sizes) {
    let answer = 0;
    let maxArray = [];
    let minArray = [];

    for (let i = 0; i<sizes.length; i++){
        maxArray.push(Math.max(...sizes[[i]]));
        minArray.push(Math.min(...sizes[[i]]));
    }
    answer = Math.max(...maxArray) * Math.max(...minArray);

    return answer;
}

다른 답

function solution(sizes) {
    const [hor, ver] = sizes.reduce(([h, v], [a, b]) => [Math.max(h, Math.max(a, b)), Math.max(v, Math.min(a, b))], [0, 0])
    return hor * ver;
}

해석

와... 나는 큰 값 끼리 모으고 작은 값끼리 모은 다음 큰 수를 곱했는데...
한줄로 reduce 함수 + Math.max, Math.min 함수 사용해서 할 수 있구나..

profile
개발자가 되고 싶은 지망생

0개의 댓글