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
반응형
'프로그래머스 문제풀이' 카테고리의 다른 글
[프로그래머스] 피자 나눠 먹기 (1) (0) | 2022.12.23 |
---|---|
[프로그래머스] 문자열 뒤집기 (0) | 2022.12.22 |
[프로그래머스] 배열 두배 만들기 (0) | 2022.12.20 |
[프로그래머스] 배열 뒤집기 (0) | 2022.12.19 |
프로그래머스 영어가 싫어요 (0) | 2022.12.16 |