프로그래머스#JS - K번째 수

SSO·2020년 1월 2일
0

프로그래머스Lv1

목록 보기
5/47
post-custom-banner

문제

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

풀이

  1. 2020
function solution(array, commands) {
    var answer = [];
    var len = commands.length;
    
    for(var a=0; a<len; a++){
        var i = commands[a][0];
        var j = commands[a][1];
        var k = commands[a][2];
        
        var newArray = array.slice(i-1, j);
        newArray.sort((x,y) => x-y);
        var result = newArray[k-1];
        answer.push(result);
    }
    
    
    return answer;
}
  1. 2019
function solution(array, commands) {
    var answer = [];
    var lengthOfCommands = commands.length;

    for (var i=0; i<lengthOfCommands; i++){
        var newArray = array.slice((((commands[i])[0])-1), ((commands[i])[1]));
      
        newArray.sort(function (a,b){
            if(a < b){
                return -1;
            } else if (a > b){
                return 1;
            } 
            return 0;
        });

        answer[i] = newArray[(((commands[i])[2])-1)];
    }
  
    return answer;
}

참고

#정렬
1. array.sort() 사용시에 기본적으로 sort함수는 string 비교를 하기 때문에 number비교를 위해서는 array.sort((x,y) => x-y)로 오름차순 정렬 가능.

  1. arr.sort([compareFunction])에서 compareFunction(a,b)은 정렬순서를 정의하는 함수. return값이 0보다 작으면 a가 b보다 먼저 옴.(number로는 a < b)
profile
happy
post-custom-banner

0개의 댓글