https://programmers.co.kr/learn/courses/30/lessons/86491
모든 명함의 가로 길이와 세로 길이를 나타내는 2차원 배열 sizes가 매개변수로 주어짐
모든 명함을 수납할 수 있는 가장 작은 지갑의 크기 return
1. 가장 긴 가로길이 구하기
2. 지갑 크기 : w배열과 h배열에서 가장 긴 길이 값 찾아서 곱하기
function solution(sizes) {
let answer;
let w = [], h = [];
for (let size of sizes) {
size.sort((a, b) => b - a);
w.push(size[0]);
h.push(size[1]);
}
answer = Math.max(...w) * Math.max(...h);
return answer;
}
프로그래머스에 있는 비슷한 풀이들 보니 다른 분들은 나처럼 w배열 h배열을 만들어준 게 아니라 그냥 반복문 안에서 if문을 통해서 가장 큰 가로, 세로 길이 값을 변수에 할당하여 계산하였다.
function solution(sizes) {
const [hor, ver] = sizes.reduce(([h, v], [a, b]) => [Math.max(h, Math.max(a, b)), Math.max(v, Math.min(a, b))], [0, 0])
return hor * ver;
}