
문제
[Programmers] 정렬 level1 K번째수
체크 포인트
- slice(
begin
, end
)
begin
부터 end
까지(end
미포함)
- sort(
compareFunction
)
기본 정렬 순서를 오름차순으로 알고 있었는데, 정확히는 문자열의 유니코드 코드 포인트이기 때문에 compareFunction
로 명시 필요
compareFunction
로 명시하지 않은 경우 발생할 수 있는 케이스
const array1 = [1, 30, 4, 21, 100000];
array1.sort();
console.log(array1);
// expected output: Array [1, 100000, 21, 30, 4]
풀이
function solution(array, commands) {
var answer = [];
commands.forEach((command) => {
const sliceArray = array.slice(command[0]-1, command[1]);
sliceArray.sort((x, y) => x - y);
answer.push(sliceArray[command[2]-1]);
});
return answer;
}
