

function solution(array, commands) {
var answer = [];
for(let i = 0 ; i < commands.length ; i++){
let sortArray = array.slice(commands[i][0]-1, commands[i][1])
sortArray.sort((a, b)=> a-b)
answer.push(sortArray[commands[i][2]-1])
console.log(sortArray)
}
return answer}
for 문을 이용해서 문제를 풀었다.
slice메서드를 사용해서 commands[i][0]-1 에서부터 commands[i][1] 즉 i의 값을 0이라고 하면 commands[i][0]-1은 commands[i][0]의 값 2, 그런데 slice에 2부터 시작한다하면 배열의 인덱스[2]에서 부터 즉 2부터 시작을한다. 하지만 예시에서도 나와있듯이 5부터 시작해야하기때문에 -1을했다
그렇게하면 우선 필요한만큼 자른후 정렬한 sortArray 변수로 따로 지정을 했다.
그리고 오름차순으로 정렬을 해주고 push를 사용해서 k의 값 -1 의 인덱스를 answer에 push하도록 했다.
'코딩테스트' 카테고리의 다른 글
| (javaScript) 명예의전당(1) (0) | 2024.02.16 |
|---|---|
| (javaScript) 가장 가까운 같은 글자 (0) | 2024.02.13 |
| (javascript) 문자열 내 마음대로 정렬하기 (0) | 2024.02.06 |
| (javascript) 숫자 문자열과 영단어 (0) | 2024.01.28 |
| (javascript) 시저 암호 (0) | 2024.01.25 |