728x90
반응형

function solution(numbers) {
    numbers.sort((a,b)=>b-a);
    return numbers[0]*numbers[1];
}

 

위를 이해하기 위해선 다음 예시 확인

var myArray = [5,3,4,1,2];
myArray.sort(function (a, b) { return a - b });
console.log(myArray);
// 결과: [1, 2, 3, 4, 5]
myArray.sort(function (a, b) { return b - a });
console.log(myArray);
// 결과: [5, 4, 3, 2, 1]

return 값 a-b는 배열을 오름차순, b-a는 내림차순으로 정렬한다.

그냥 .sort()만으로는 정렬이 안 되는 걸까? 안된다. 그 이유는 자바스크립트의 sort 함수는 기본적으로 배열을 문자열(String) 타입으로 간주하고 비교하기 때문이다. 문자는 잘 작동하나 숫자는 스트링으로 변경되면서 문제를 야기한다.

728x90
반응형

+ Recent posts