출처 - 프로그래머스 코딩테스트 고득점 KIT
k - 1
번째 인덱스의 수라는 것을 깜빡 지나치지 말자!function solution(array, commands) {
let answer = [];
for (let command of commands) {
answer.push(process(array, command));
}
function process(array, command) {
const arr = array.slice(command[0] - 1, command[1]).sort((a, b) => a - b);
return arr[command[2] - 1];
}
return answer;
}
arr.sort()
로 정렬하면 테스트 케이스 2번이 틀리게 나온다. 왜일까?sort([compareFunction])
에 정렬 기준이 되는 비교 구문을 넣어주지 않으면, sort()
는 주어진 값을 문자열로 변환한 후, 사전 순으로 정렬한다.arr.sort((a, b) => a - b)
로 주어진 숫자들을 오름차순 정렬한다는 것을 명시해주도록 하자!