
생각 과정
시작점과 끝점을 찾은 뒤, 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 (링크)
'문제 풀이 > Programmers' 카테고리의 다른 글
| [프로그래머스] 42576번: 완주하지 못한 선수 (JavaScript) (0) | 2025.07.04 |
|---|---|
| [프로그래머스] 68644번: 두 개 뽑아서 더하기 (JavaScript) (0) | 2025.07.04 |
| [프로그래머스] 12931번: 자릿수 더하기 (JavaScript) (0) | 2025.07.04 |
| [프로그래머스] 12918번: 문자열 다루기 기본 (JavaScript) (0) | 2025.07.04 |
| [프로그래머스] 12912번: 두 정수 사이의 합 (JavaScript) (1) | 2025.06.04 |