K번째수

박효상·2022년 4월 7일
0

코딩테스트

목록 보기
2/5
post-thumbnail

Problem

배열 내에서 특정 Index 범위의 값들을 정렬하여 K번째 수를 찾아 배열에 담아 반환하는 함수 구현

Algorithm

정렬: 배열내의 요소들을 오름차순 또는 내림차순으로 재배치하는 알고리즘

Solution

  1. commands 배열을 순회하여 각각의 command 접근
  2. 해당 command 내에 정의된 Index 범위에 해당하는 array 요소들 잘라내어 변수에 담기
  3. 해당 변수에 담긴 배열을 sort 함수로 오름차순 정렬
  4. 정렬된 배열에서 k번째 수를 찾아 answer 배열에 담기
  5. 모든 answer가 담길 때까지 반복
function solution(array, commands) {
  let answer = []; 
  for (let i = 0; i < commands.length; i++) {
    let arr = array.splice(commands[i][0]-1, commands[i][1]);
    arr.sort((a,b) => a-b); 
    answer.push(arr[commands[i][2]-1]);
  }
  return answer;
}
profile
집념의 백엔드 개발자

0개의 댓글