1. 문제링크
https://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
2. 접근방법
사진에서 보이는 대로 n1~ n2 까지 배열을 slice 하여 n3-1 번째 수를 출력하는 방식으로 접근하였다 (배열이기때문에 -1)
3. 코드
function solution(array, commands) {
var answer = [];
for(let i=0; i<commands.length; i++){
var nums = array.slice(commands[i][0] - 1, commands[i][1]);
nums = nums.sort(function(a, b) {
if(a > b) return 1;
if(a === b) return 0;
if(a < b) return -1;
});
answer.push(nums[commands[i][2] - 1]);
}
return answer;
}
4. 마치며
테스트케이스 2번만 안되는 문제를 발견!
js는 문자열을 비교해서 정렬하기때문에 정수타입으로 비교할 수 있도록
sort()메소드를 수정해주었더니 해결되었다.
js의 특징을 볼 수 있는 문제였다. 하나를 또 배움
'알고리즘' 카테고리의 다른 글
프로그래머스 : 예산 (Java) (0) | 2021.05.13 |
---|---|
프로그래머스 : 폰켓몬 (Javascript) (0) | 2021.05.12 |
프로그래머스 : 모의고사 (Javascript) (0) | 2021.05.09 |
프로그래머스 : 키패드 누르기 (Java) (0) | 2021.05.08 |
백준 1976 : 여행가자 (Java) (0) | 2020.10.27 |