배열 array와 commands가 주어진다.
commands의 각 원소는 [i, j, k] 형태로 주어진다.
[i, j, k]에 대해 다음 과정을 수행한다.
array의 i번째 숫자부터 j번째 숫자까지 자른다.k번째 숫자를 찾는다.시작 위치인 i는 i - 1로 변경해야 한다.
Arrays.copyOfRange()를 사용하여 배열을 원하는 범위만큼 잘라낸다.
Arrays.copyOfRange(array, commands[i][0] - 1, commands[i][1]);
Arrays.sort()를 사용하여 잘라낸 배열을 오름차순으로 정렬한다.
Arrays.sort(temp);
정렬된 배열에서 k번째 값을 가져올 때도 배열의 인덱스는 0부터 시작하므로 k - 1을 사용한다.
temp[commands[i][2] - 1]
commands.length만큼 answer 배열을 생성한다.commands를 하나씩 확인한다.commands[i][0]에서 commands[i][1]까지 배열을 자른다.Arrays.copyOfRange()를 사용하여 필요한 부분만 추출한다.Arrays.sort()를 이용하여 오름차순으로 정렬한다.k번째 값을 가져온다.answer에 저장한다.answer를 반환한다.import java.util.Arrays;
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;
}
}
