티스토리 뷰

 

 

💡 나의 풀이

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

 

>> Arrays.copyOfRange(배열, 시작인덱스, 마지막인덱스)를 사용하여 배열을 slicing 해준다. 

시작인덱스는 포함되고, 마지막인덱스는 포함되지 않는다. commands[i][0]에서 -1을 해주는 이유는 인덱스 시작점을 찾기 위해서이다. commands[0][0] = 2, [1][0] = 4, [2][0] = 1이고 2번째부터 시작, 4번째부터 시작, 1번째부터 시작을 하려면 각각 -1을 해줘야 배열의 인덱스 번호로 찾아갈 수 있다. 

answer[i] = temp[commands[i][2]-1]도 마찬가지이다. 

댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30