[프로그래머스] K번째수 - JS
4263 단어 JavaScript프로그래머스level1JavaScript
문제
풀이
- commands에 들어있는 array 갯수는 동적이므로 commands.length 사용
- 주어진 i, j, k를 이용하여 자르고(slice) 정렬(sort) 후 선택 해주면 된다.
이 문제를 풀면서 주의할 점은 2가지였는데,
1. slice() 메소드의 인자는 start, end를 받고 start부터 end-1번째까지만 자른다는 것이다.
2. sort() 메소드는 오름차순으로 정렬을 자동으로 해주는 것은 맞지만, 이는 유니코드를 기준으로 정렬한다.
- 예를 들어 9와 80은 숫자 정렬이였을 때 9가 앞에 위치하는 것이 맞지만, 유니코드로 정렬되었을 때는 80이 9보다 앞에 위치한다.
- 그러므로 오름차순으로 정렬하기 위해 아래와 같은 메소드를 사용해야 한다.
function compareNumbers(a, b) {
return a - b;
}
제출한 코드
function solution(array, commands) {
var answer = [];
for(let i=0; i<commands.length; i++){
let newArr = array.slice(commands[i][0]-1, commands[i][1]).sort((a,b)=> a-b);
answer.push( newArr[commands[i][2]-1] )
}
return answer;
}
Author And Source
이 문제에 관하여([프로그래머스] K번째수 - JS), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yeseul/프로그래머스-K번째수-JS저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)