[알고리즘풀이 훔치기] reduce 활용

김종현·2024년 11월 19일
0

알고리즘

목록 보기
6/8

문제

풀이 및 접근 방식

function solution(sizes) {
    let w = 0;
    let h = 0;
    for(let i = 0; i<sizes.length; i++){
        Math.max(...sizes[i]) > w ? w = Math.max(...sizes[i]) : w;
        Math.min(...sizes[i]) > h ? h = Math.min(...sizes[i]) : h;
    }
    return w*h
}
  • w, h가 호환이 되니 각 배열을 정렬한 후 가장 큰 값들을 구해서 곱해 결과값 도출.
  • 틀린 부분 없음

더 나은 풀이

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를 이용, 각 원소의 배열쌍을 가져와 max 값을 구해 결론 도출.
  • 이런식으로 풀고 싶었지만 reduce 내공이 부족해 앞선 방법으로 풀었음.
profile
고양이 릴스 매니아

0개의 댓글