프로그래머스 Lv.1 : 최소직사각형

zeroequaltwo·2022년 11월 18일
0

코딩테스트

목록 보기
35/69

문제

프로그래머스 문제

내 풀이

function solution(sizes) {
    //각 사이즈 배열을 정렬한다.
    sizes.map((size) => size.sort((a,b) => b-a));
    // 정렬한 사이즈 중 앞 숫자가 제일 큰 사이즈를 찾아온다. 
    const largerList = sizes.map((size) => size[0]);
    const largerMax = Math.max(...largerList);
    // 뒷자리 숫자 중 제일 큰 것도 찾아온다.
    const smallerList = sizes.map((size) => size[1]);
    const smallerMax = Math.max(...smallerList);
    
    return largerMax * smallerMax;
}

개선점

  • reduce를 꼭 누적으로만 생각하지 않고 값 비교에 사용한 게 좋아서 갖고왔다.
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;
}```
profile
나로 인해 0=2가 성립한다.

0개의 댓글