| 제출
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()
- 주어진 함수를 각 배열 요소에 대해 실행한다.
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] 숫자 문자열과 영단어 - level1 (javascript) (0) | 2022.10.28 |
---|---|
[프로그래머스] [1차] 비밀지도 - level 1 (javascript) (0) | 2022.09.19 |
[프로그래머스] 내적 - level 1 (javascript) (0) | 2022.09.19 |
[프로그래머스] 없는 숫자 더하기 - level 1 (javascript) (0) | 2022.09.19 |
[프로그래머스] 음양 더하기 - level 1 (javascript) (0) | 2022.09.19 |