[javascript/프로그래머스] K번째 수

이소진·2021년 6월 5일
0

https://programmers.co.kr/learn/courses/30/lessons/42748

자바스크립트의 경우 내장함수가 잘 되어있다.
이 문제의 경우 slice함수랑 sort함수를 잘 사용하면 된다
그런데 문제가 생겼다.

slice(begin, end)는 begin부터 end 전까지의 복사본을 새로운 배열 객체로 반환한다는 점인데, end전까지의 인덱스만 포함한다는 것이다.

그러니까 처음 배열을 자를 때 범위가 (commands[i][0]-1,commands[i][1]-1)이 아니라 (commands[i][0]-1,commands[i][1])이렇게 되면 된다는 것이다...

function solution(array, commands) {
    var slice=[];
    var ans=[];
    
    for(var i=0;i<commands.length;i++){
        slice[i]=array.slice(commands[i][0]-1,commands[i][1]);
        slice[i].sort((a,b)=>{return a-b;});
    }
    
    for(var i=0;i<commands.length;i++){
        ans.push(slice[i][commands[i][2]-1]);
    }
    
    return ans;
}
profile
webFront / Flutter / iOS 😉

0개의 댓글