본문 바로가기

Backend/Algorithm

11. copyOfRange, sort - K번째 수

 

 

 

 

 

입출력 예:

 

array commands return
[1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3]

 

입출력 예 설명:

 

[1, 5, 2, 6, 3, 7, 4]를 2번째부터 5번째까지 자른 후 정렬합니다. [2, 3, 5, 6]의 세 번째 숫자는 5입니다.
[1, 5, 2, 6, 3, 7, 4]를 4번째부터 4번째까지 자른 후 정렬합니다. [6]의 첫 번째 숫자는 6입니다.
[1, 5, 2, 6, 3, 7, 4]를 1번째부터 7번째까지 자릅니다. [1, 2, 3, 4, 5, 6, 7]의 세 번째 숫자는 3입니다.

 

 

 

코드:

 

 

 

import java.util.*;
class Solution {
    public int[] solution(int[] array, int[][] commands) {
        int[] answer = new int[commands.length];
        int[] temp;
        
        for (int i=0; i<commands.length; i++) {
            temp = Arrays.copyOfRange(array, commands[i][0]-1, commands[i][1]); 
            Arrays.sort(temp);
            answer[i] = temp[commands[i][2]-1];     
        }
        return answer;
    }
}

 

 

 

 

 

접근방법: