알고리즘 풀이/프로그래머스

[프로그래머스] K번째 수 - map(), filter(), sort()

mhko411 2021. 2. 23. 23:14
728x90

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

 

코딩테스트 연습 - K번째수

[1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3]

programmers.co.kr


나의 코드

javascript는 sort를 할 때 유니코드 포인터 순서로 문자열을 비교해서 정렬한다. 따라서 정렬기준을 명시해줘야 한다.

function solution(array, commands) {
    var answer = [];
    for(var i=0; i<commands.length; i++){
        var newArray = [];
        var start = commands[i][0] - 1;
        var end = commands[i][1];
        for(var j=start; j<end; j++){
            newArray.push(array[j])
        }
        newArray = newArray.sort((a,b)=>a-b)
        
        var idx = commands[i][2] - 1;
        answer.push(newArray[idx]);
    }
    return answer;
}

 

다른 사람의 코드

function solution(array, commands) {
    return commands.map(command => {
        const [sPosition, ePosition, position] = command
        const newArray = array
            .filter((value, fIndex) => fIndex >= sPosition - 1 && fIndex <= ePosition - 1)
            .sort((a,b) => a - b)    

        return newArray[position - 1]
    })
}

'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글

[Level 2] 숫자의 표현  (0) 2021.02.24
[Level 3] N-Queen  (0) 2021.02.24
[Level 3] 정수 삼각형  (0) 2021.02.23
[Level 2] 카펫  (0) 2021.02.23
[Level 2] 네트워크  (0) 2021.02.22