[ALGO] 프로그래머스 - K번째수(자바스크립트, javascript)

hj·2021년 6월 8일
0

알고리즘

목록 보기
13/35
post-thumbnail
post-custom-banner

프로그래머스 - K번째수

arr.sort([compareFunction]) - 정렬함수

기본 정렬 순서 - arr.sort()

원소들을 문자형으로 형변환을 한 뒤 ASCII 코드 기준 오름차순으로 정렬한다. [10, 4]인 배열이 있을 때 "10"과 "4"로 변환되고 "1"이 "4"보다 작은 ASCII 값을 가지게 되므로 [10, 4]가 된다.

정렬 순서 정의 함수 - arr.sort([compareFunction])

배열 요소는 compareFunction의 반환 값에 따라 정렬된다. a와 b가 비교되는 두 요소라면,

  • compareFunction의 반환 값이 0보다 작은 경우, a가 먼저온다.
  • compareFunction의 반환 값이 0인 경우, 그대로 둔다.
  • compareFunction의 반환 값이 0보다 큰 경우, b가 먼저 온다.

풀이

function solution(array, commands) {
    let answer = [];
    let tmp_array = [];
    
    for (let i = 0; i < commands.length; i++) {
        tmp_array =  array.slice(commands[i][0] - 1, commands[i][1])
        tmp_array = tmp_array.sort((next,  prev) => next < prev ? -1 : 0)
        answer.push(tmp_array[commands[i][2] - 1])
    }
    
    return answer;
}

reference

Javascript Sort함수에 대한 잡지식

post-custom-banner

0개의 댓글