
문제설명
- 배열 array의 i번째부터 j번째까지 자르고 정렬했을때 k번째 수 구하기
- 배열 commands는 [i,j,k]를 원소로 가지는 2차원 배열
제한사항
- array의 길이는 1 이상 100 이하
- array의 각 원소는 1 이상 100 이하
- commands의 길이는 1 이상 100 이하
- commands의 각 원소는 길이가 3
풀이
function solution(array, commands) {
let answer = [];
for(let i=0;i<commands.length;i++){
const command = commands[i];
const newArr = array.slice(command[0]-1,command[1]).sort((a,b)=>a-b);
answer.push(newArr[command[2]-1]);
}
return answer;
}
체크포인트
- sort(), sort((a,b)=>a-b)의 차이점: compareFunction이 제공되지 않으면 요소를 문자열로 변환하고 유니 코드 코드 포인트 순서로 문자열을 비교하여 정렬
- 예를 들어 "바나나"는 "체리"앞에 옴
- 숫자 정렬에서는 9가 80보다 앞에 오지만 숫자는 문자열로 변환되기 때문에 "80"은 유니 코드 순서에서 "9"앞에 옴