다양한 사이즈의 명함을 넣을 수 있는 최소 직사각형의 크기 구하기
제한사항
- sizes의 길이는 1 이상 10,000 이하입니다.
- sizes의 원소는 [w, h] 형식입니다.
- w는 명함의 가로 길이를 나타냅니다.
- h는 명함의 세로 길이를 나타냅니다.
- w와 h는 1 이상 1,000 이하인 자연수입니다.
나의 풀이
- 각 명함의 사이즈(sizes)들 중 큰 값을 w, 작은 값을 h 로 각각 저장
- w와 h의 최댓값을 구하여 곱함
function solution(sizes) {
const {w, h} = sizes.reduce((a, b) => {
b.sort((a, b) => +a > +b ? -1 : 0);
a['w'].push(+b[0]);
a['h'].push(+b[1]);
return a;
}, {w: [], h: []});
const max_w = Math.max(...w);
const max_h = Math.max(...h);
return max_w * max_h;
}
결과
'programmers' 카테고리의 다른 글
[프로그래머스] Lv2. 카펫 (javascript) (0) | 2022.09.13 |
---|---|
[프로그래머스] Lv2. 두 큐 합 같게 만들기 (javascript) (0) | 2022.09.06 |
[프로그래머스]Lv1. 신규 아이디 추천 (javascript) (0) | 2022.08.17 |
[프로그래머스]Lv1. 로또의 최고 순위와 최저 순위 (javascript) (0) | 2022.08.12 |