이번 문제는 읽자마자 바로 풀이가 나와서 아래와 같이 생성해주었었다.
근데! 다른 점이 하나 있었음 그건 sort((a,b) => a - b)
가 아닌 sort()
를 썻다는 점임.
내 생각에선 숫자의 크기대로 정렬 후 뽑아내서 하면 되겠지? 그럼 sort만 해줘도 되겠네?란 생각에 sort()를 해줬는데 접근 방식은 좋았으나 해당 메서드에 대해 제대로 숙지하지 못하고 있었음.
sort는 문자의 유니코드를 기준으로 정렬해주기에 수를 정렬하게되면 문제가 생김.
즉 (a,b) => a - b로 직접적인 인자를 설정해 주어야 수에 대한 비교가 원할하게 이루어지는 것을 볼 수 있음.
function solution(sizes) {
const minSizes = Math.max(...sizes.map((item) => item.sort((a,b) => a - b)[0]))
const maxSizes = Math.max(...sizes.map((item) => item.sort((a,b) => a - b)[1]))
return minSizes * maxSizes;
}