한참을 이상하게 풀다가 완전 탐색이라고 백트래킹이니 뭐니 이상한 생각을 했다가 아무래도 기초부터 접근해서 쉽게 푸는 게 나을 거라 생각이 들어 다시 접근했다. sizes의 각 인덱스에서 큰 애들은 큰 곳에 모아두고 작은애들은 작은 곳에 모아둬서 (각 인덱스끼리는 서로 왕래가 가능하니까) 거기에서 최대값끼리 (명함이 들어가도록) 곱해주면 됨
function solutions(sizes) {
let width = [];
let height = [];
for (let i=0; i<sizes; i++){
const max = Math.max(sizes[i][0], sizes[i][1])
const min = Math.min(sizes[i][0], sizes[i][1])
// 여기서 width와 height 어느 곳에 넣어줘도 상관은 없음
width.push(max)
height.push(min)
}
return Math.max(...width) * Math.max(...height)
}