https://school.programmers.co.kr/learn/courses/30/lessons/42748
주어진 배열에서 i번째부터 j번째까지 자르고, 정렬한 뒤, k번째 숫자를 구하라는 문제.
예시로 보면 배열 자르기, 정렬, 인덱싱만 잘하면 되는 구현 문제다.
배열 슬라이싱하고 정렬하는 작업이었기 때문에 자바의 Arrays.copyOfRange() 함수와 Arrays.sort()를 쓰는 게 핵심.
자바는 슬라이싱이나 정렬이 기본 함수로 제공되니까 이걸 잘 활용하면 깔끔하게 풀 수 있겠다.
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;
}
}