K번째수 - javascript

나의 접근

  • 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 사용 시 문자 순서로 정렬되는 것을 기억하자
    (사실 예전에 봤던거 같지만... 또 까먹음)
  • 문제를 꼼꼼히 읽자
    (처음에는 정렬을 안읽고 결과값이 달라서 한참을 해맴)

출처

좋은 웹페이지 즐겨찾기