알고리즘 문제풀이/프로그래머스
K번째수 / js 풀이
Heman
2021. 6. 21. 20:55
프로그래머스 : K번째수
https://programmers.co.kr/learn/courses/30/lessons/42748
문제풀이
풀이는 문제에 주어진 대로 그대로 수행하시면 됩니다.
코드
function solution(array, commands) {
let answer = [];
// 결과를 담을 배열을 선언 및 초기화
for(let i=0; i<commands.length; i++){
let tmp = array.slice(commands[i][0]-1, commands[i][1]);
// commands 배열내 i번째 배열의 첫번째 수와 두번째 수를 활용하여,
// array 배열을 잘라 임시 배열인 tmp에 넣어줍니다
tmp.sort((a,b) => a-b);
// 오름차순으로 정렬
answer.push(tmp[commands[i][2]-1]);
// 결과 배열에 i번째 commands 배열의 3번째 수를 찾아 넣어줍니다
}
return answer;
}
리뷰
이 문제는 어렵지 않은 문제지만, sort()
함수 부분에서 정확히 a-b 대소관계를 정의해주지 않으면 통과가 되지 않습니다.
sort()
는 문자열을 정렬해주는 함수입니다.
이 함수를 그대로 사용하게 되면 [50, 100] 과 같은 배열에서 1을 포함하고 있는 100을 5를 포함한 50보다 더 작은 문자열로 인식하여 [100, 50] 으로 정렬하기 때문입니다.