문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
나의 답
[pseudo code]
1. sizes의 루프를 돌면서 w > h를 비교해서 큰 값을 h로 몰아줌
2. w와 h의 가장 큰 값을 찾아서 곱하면 됨
function solution(sizes) {
let width = [],
hight = [];
for (let size of sizes) {
if (size[0] > size[1]) {
const temp = size[0];
size[0] = size[1];
size[1] = temp;
}
width.push(size[0]);
hight.push(size[1]);
}
width = width.sort((a, b) => a - b);
hight = hight.sort((a, b) => a - b);
console.log(width, hight);
return width[width.length - 1] * hight[hight.length - 1];
}
console.log(solution([[60, 50], [30, 70], [60, 30], [80, 40],]));
//메서드를 사용하여 코드 줄이기
function solution(sizes) {
let w = 0,
h = 0;
sizes.forEach((e) => {
const [a, b] = e.sort((a, b) => a - b);
if (a > h) h = a;
if (b > w) w = b;
});
return w * h;
}
'항해99_10기 > [2주차] 알고리즘 문제풀이' 카테고리의 다른 글
[16번][중급] 두개 뽑아서 더하기 (0) | 2022.11.21 |
---|---|
[15번][중급] 같은 숫자는 싫어 (0) | 2022.11.21 |
[13번][중급] 3진법 뒤집기 (0) | 2022.11.21 |
[11번][연습문제][Lv.1] 콜라츠 추측 (0) | 2022.11.19 |
[10번][연습문제][Lv.1] 제일 작은 수 제거하기 (0) | 2022.11.19 |