• 정수 배열 array가 있음
• commands는 [i, j, k] 형식으로 주어짐
→ array의 i번째부터 j번째까지 자르고
→ 정렬한 뒤
→ k번째 수를 리턴해야 해
👉 여러 명령이 있으니까 결과는 int[] 배열로 리턴해야 함
1. commands 배열을 하나씩 순회
2. 각 명령마다
• i-1 ~ j 범위로 array 자르기 (Java에선 Arrays.copyOfRange)
• 오름차순 정렬
• k번째 값 꺼내기 (k-1번째 인덱스)
3. 결과 배열에 저장해서 리턴
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 start = commands[i][0] - 1; // 시작 인덱스
int end = commands[i][1]; // 끝 인덱스 (exclusive)
int k = commands[i][2] - 1; // k번째 (인덱스는 -1)
int[] sliced = Arrays.copyOfRange(array, start, end);
Arrays.sort(sliced);
answer[i] = sliced[k];
}
return answer;
}
}