본문 바로가기
문제 풀이/Programmers

[프로그래머스] 42748번: K번째수 (JavaScript)

by Electrohyun 2025. 7. 4.


 

생각 과정

 

시작점과 끝점을 찾은 뒤, slice로 잘라내어 새로운 배열에 정렬한다.

 

이후 K번째 수를 찾기 위해서 새로운 배열에, (문제에서 주어진 3번째 인자 - 1)번 인덱스로 접근하여

 

답을 찾아낸다.

 

function solution(array, commands) {
  let answer = [];
    
  for (let i = 0; i < commands.length; i++) {
    let startPoint = commands[i][0] - 1;
    let endPoint = commands[i][1];
    let KPoint = commands[i][2] - 1;

    let arr1 = array.slice(startPoint, endPoint);
    arr1.sort((a, b) => (a - b));
          
    answer.push(arr1[KPoint]);
  }
    
  return answer;
}

 

 

알게 된 것들

 

let의 남용 ->

startPoint, endPoint, KPoint의 경우 한번 값이 할당되면 재할당하여 사용하지 않음으로 const를 사용하는 것이 바람직하다.

 

arr1의 경우(배열의 경우) ->

const로 선언하더라도 push 등 배열에 값을 추가하는 것이 가능하다.

 

참고 -  gongyoon님 Velog (링크)