https://school.programmers.co.kr/learn/courses/30/lessons/42748
๐ ํ์ด 2 : Stream
`Stream` + `Arrays.copyOfRange()`โญ
import java.util.Arrays;
class Solution {
// array์ i๋ฒ์งธ ์ซ์๋ถํฐ j๋ฒ์งธ ์ซ์๊น์ง ์๋ฅด๊ณ ์ ๋ ฌํ์ ๋, k๋ฒ์งธ์ ์๋ ์ ๋ฐํ
public int[] solution(int[] array, int[][] commands) {
return Arrays.stream(commands)
.mapToInt(command
-> Arrays.stream(Arrays.copyOfRange(array, command[0] - 1, command[1]))
.sorted()
.toArray()[command[2] - 1])
.toArray();
}
}
๐ ํ์ด 1 : ๋ฐ๋ชฉ๋ฌธ
๋ฐ๋ชฉ๋ฌธ + `Arrays.copyOfRange()`
import java.util.Arrays;
class Solution {
// array์ i๋ฒ์งธ ์ซ์๋ถํฐ j๋ฒ์งธ ์ซ์๊น์ง ์๋ฅด๊ณ ์ ๋ ฌํ์ ๋, k๋ฒ์งธ์ ์๋ ์ ๋ฐํ
public int[] solution(int[] array, int[][] commands) {
int cnt = commands.length;
int[] answer = new int[cnt];
for (int x = 0; x < cnt; x++) {
int i = commands[x][0];
int j = commands[x][1];
int k = commands[x][2];
int[] newArray = Arrays.copyOfRange(array, i - 1, j);
Arrays.sort(newArray);
answer[x] = newArray[k - 1];
}
return answer;
}
}