728x90
첫번째로 고른 문제는 level 1에 있는 K번째 수
level 1이라 그런지 확실히 메소드의 사용정도만 파악하는 문제인것 같다.
i번째 숫자에서 j번째 숫자를 자르는 것은 .slice()
정렬하는 것은 .sort()
k번째의 수는 .find()
로 작성하면 될거같아 바로 작성..!
function solution(array, commands) {
var answer = [];
//commands의 숫자만큼 실행
for(var i=0; i<commands.length; i++){
var k = array.slice(commands[i][0]-1,commands[i][1]).sort().slice(commands[i][2]-1,commands[i][2]);
answer.push(k[0]);
}
return answer;
}
하지만 결과는
fail
아마도 테스트 케이스중에 한가지가 걸렸던것 같다.
array의 값을 2자리수 넘어가는 숫자를 적용시 .sort()의 유니코드 기본정렬이 안먹혔던것.
function solution(array, commands) {
var answer = [];
//commands의 숫자만큼 실행
for(var i=0; i<commands.length; i++){
var k = array.slice(commands[i][0]-1,commands[i][1])
.sort((a,b)=>a-b)
.slice(commands[i][2]-1,commands[i][2]);
answer.push(k[0]);
}
return answer;
고로 람다식을 활용하여 .sort() 를 .sort((a,b)=>a-b) 로 수정
* 다른사람의 풀이
function solution(array, commands) {
return commands.map(v => {
return array.slice(v[0] - 1, v[1]).sort((a, b) => a - b).slice(v[2] - 1, v[2])[0];
});
}
오... 난 지금까지 뭐했나...
728x90
'코딩테스트 > programmers level1' 카테고리의 다른 글
[kotlin] 프로그래머스 level1 - 스킬 체크 테스트 2 (0) | 2020.11.11 |
---|---|
[kotlin] 프로그래머스 level1 - 스킬 체크 테스트 (0) | 2020.11.11 |
[Java script] 프로그래머스 level1 - 모의고사 (0) | 2019.06.17 |
[Java Script] 프로그래머스 level1 - 2016년 (2) | 2019.06.12 |
[Java script] 프로그래머스 level1 - 완주하지 못한 선수 (0) | 2019.06.09 |