아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다.
명함 번호 | 가로 길이 | 세로 길이 |
---|---|---|
1 | 60 | 50 |
2 | 30 | 70 |
3 | 60 | 30 |
4 | 80 | 40 |
가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있습니다. 이때의 지갑 크기는 4000(=80 x 50)입니다.
solution([[60, 50], [30, 70], [60, 30], [80, 40]]) // 4000
solution([[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]]) // 120
solution([[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]]) // 133
function solution(sizes) {
width = 0;
height = 0;
for(let i = 0; i < sizes.length; i++){
sizes[i].sort((a, b) => {
return a - b
});
if(width < sizes[i][0]) {
width = sizes[i][0]
}
if(height < sizes[i][1]) {
height = sizes[i][1]
}
}
console.log(sizes)
return height * width
}
sort()
매서드를 사용해서 정렬 후에 최댓값을 찾아서 곱했다.출처: 프로그래머스