문제
- 링크: https://school.programmers.co.kr/learn/courses/30/lessons/42748
풀이
(풀이1)
더보기
import java.util.Arrays;
class Solution {
public int[] solution(int[] array, int[][] commands) {
int[] answer = new int[commands.length];
for (int c = 0; c < commands.length; c++) {
int i = commands[c][0];
int j = commands[c][1];
int k = commands[c][2];
int[] slicedArr = Arrays.copyOfRange(array, i - 1, j);
Arrays.sort(slicedArr);
answer[c] = slicedArr[k - 1];
}
return answer;
}
}
(풀이2)
더보기
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];
int len = commands[i][1] - commands[i][0] + 1;
int k = commands[i][2];
int[] tmp_arr = new int[len];
for (int j = 0; j < len; ++j) {
tmp_arr[j] = array[start +j - 1];
}
Arrays.sort(tmp_arr);
answer[i] = tmp_arr[k - 1];
}
return answer;
}
}
'코딩테스트 문제집 > Programmers(Lv1)' 카테고리의 다른 글
[Programmers] Lv1: 체육복(42862) (0) | 2025.02.11 |
---|---|
[Programmers] Lv1: 모의고사(42840) (0) | 2025.02.11 |
[Programmers] Lv1: 완주하지 못한 선수(42576) (0) | 2025.02.11 |
[Programmers] 다트 게임(17682) (0) | 2025.02.11 |
[Programmers] 비밀지도(17681) (0) | 2025.02.11 |