배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다.
입출력 예시
array : [1, 5, 2, 6, 3, 7, 4]
commands : [[2, 5, 3], [4, 4, 1], [1, 7, 3]]
→ [5, 6, 3]
쉽다고 생각하고 풀었다.
function solution(array, commands) {
var answer = [];
for (var i=0; i<commands.length; i++) {
var sliceArr = array.slice(commands[i][0] - 1, commands[i][1]);
sliceArr.sort();
answer.push(sliceArr[commands[i][2] - 1]);
}
return answer;
}
ㅎㅎ틀림
테스트케이스2가 뭔지는 모르겠는데 쨌든 걔가 통과가 안 됐다...
아예 틀리는 것보다 하나만 문제니까 더 해결하기 어려웠음😪
그래서 질문하기 잘 살펴보니까 sort에 함수를 설정해줘야 한다고❗️
function solution(array, commands) {
var answer = [];
for (var i=0; i<commands.length; i++) {
var sliceArr = array.slice(commands[i][0] - 1, commands[i][1]);
sliceArr.sort(function (a, b) { return a - b; });
answer.push(sliceArr[commands[i][2] - 1]);
}
return answer;
}
sort에 함수만 설정해주니까 잘 풀렸다