✏️기록하는 즐거움
article thumbnail

 

|  제출

function solution(sizes) {
    let maxSize = [0, 0];
    
    sizes.map(([w, h]) => w < h ? [h, w] : [w, h])
        .forEach(([w, h]) => {
        if(w > maxSize[0]) maxSize[0] = w
        if(h > maxSize[1]) maxSize[1] = h
    });
    
    return maxSize[0] * maxSize[1];
}

 

|  풀이과정

가로, 세로 길이가 크기 상관없이 주어졌기 때문에 정렬을 해주어야 한다.

sizes.map((item) => itme.sort((a, b) => a - b));

map 메서드 안에서 sort 메서드를 사용하여 정렬해주어도 되지만, if 문으로 비교하는 것이 더 속도가 빠르다.

현재 요소인 item을 w, h에 구조분해할당을 해서 사용할 수 있다.

정렬한 배열로 최대 가로길이와 최대 세로 길이를 구해 크기를 리턴하면 된다.

 

|  개념

Array.prototype.map()

  • 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열로 반환한다.

Array.prototype.forEach()

  • 주어진 함수를 각 배열 요소에 대해 실행한다.

 

 

profile

✏️기록하는 즐거움

@nor_coding

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!