
나의 접근
- 1. array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다.
- 자르면에서 slice 혹은 splice를 써야겠다고 생각하고 사용법을 다시 한번 검색하였다.
- 2. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다.
- 정렬하면에서 sort를 써야겠다고 생각하였다.
- 처음에는 단순히 result.sort() 로 작성하니 답안 제출 시 오류 발생하여 한참을 고민하다
- sort() 사용 시 ASCII 문자 순서로 정렬되어 숫자의 크기대로 나오지 않음 확인하여 수정하여 제출하였다.
풀이
function solution(array, commands) {
var answer = []
for (let i = 0; i < commands.length; i++){
let result = array.slice(commands[i][0] - 1, commands[i][1]);
result.sort((a,b) => a - b);
answer.push(result[commands[i][2] - 1]);
}
return answer;
}
오늘의 배운점 및 교훈
- sort 사용 시 문자 순서로 정렬되는 것을 기억하자
(사실 예전에 봤던거 같지만... 또 까먹음)
- 문제를 꼼꼼히 읽자
(처음에는 정렬을 안읽고 결과값이 달라서 한참을 해맴)
출처