티스토리 뷰
https://programmers.co.kr/learn/courses/30/lessons/42748
내 풀이
import java.util.*;
class Solution {
public int[] solution(int[] array, int[][] commands) {
int[] answer = new int[commands.length];
// 잘라낸 숫자들
List<Integer> cutList = new ArrayList<Integer>();
for(int i=0; i<commands.length; i++) {
for(int a=commands[i][0]-1; a<commands[i][1]; a++) {
cutList.add(array[a]);
}
// 리스트 정렬하기
Collections.sort(cutList);
// k번째 숫자 배열에 넣고 리스트 비우기
answer[i] = cutList.get(commands[i][2]-1);
cutList.clear();
}
return answer;
}
}
다른 사람 풀이 (copyOfRange 사용)
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;
}
}
'ALGORITHM' 카테고리의 다른 글
[JAVA] [프로그래머스] Level 1 - 연습문제 - 같은 숫자는 싫어 (0) | 2020.08.31 |
---|---|
[JAVA] [프로그래머스] Level 1 - 연습문제 - 가운데 글자 가져오기 (0) | 2020.08.30 |
[JAVA] [프로그래머스] Level 1 - 그리디 - 체육복 (0) | 2020.08.29 |
[JAVA] [프로그래머스] Level 1 - 완전탐색 - 모의고사 (0) | 2020.08.29 |
[JAVA] [프로그래머스] Level 1 - 해시 - 완주하지 못한 선수 (0) | 2020.08.27 |