728x90
function solution(array, commands) {
//variables init
let i, len = commands.length, command, answer = [];
for(i=0; i<len; i++) {
//array slice
command = array.slice(commands[i][0]-1, commands[i][1]);
//number sort
command.sort((a, b) => a - b);
//result set
answer.push(command[commands[i][2]-1])
}
return answer;
}
javascript 의 sort() 함수에 대한 기본기를 확인하는 문제였다. slice 한 배열을 정렬하기 위해 sort를 하는 경우
array.sort() 이렇게 쓰면 숫자가 문자열로 인식되어 1, 12, 2 순으로 정렬되게 된다. (기대값은 1, 2, 12)
숫자로 인식되게 하려면 어떻게 해야할까? 모질라 사이트에선 다양한 방법을 친절하게 알려주고 있다.
첫 번째 방법 - 함수 표현식
array.sort(function(a, b) {a-b});
두 번째 방법 - ES2015(ES6)부터 제공하는 화살표 함수 이용
array.sort((a,b)=>a-b);
난 많이 모질라니까(-_-;;) 모질라를 많이 애용해야겠다.
developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
728x90
'Study Note > Algorithm' 카테고리의 다른 글
프로그래머스 #완전탐색 - 모의고사 lv1 (0) | 2021.01.22 |
---|---|
프로그래머스 #월간 코드 챌린지 시즌1 - 두 개 뽑아서 더하기 lv1 (0) | 2021.01.22 |
프로그래머스 #해시 - 베스트앨범 lv3 (0) | 2021.01.16 |
프로그래머스 #스택/큐 - 기능개발 lv2 (0) | 2021.01.16 |
프로그래머스 #해시 - 위장 lv2 (0) | 2021.01.10 |
댓글