반응형
레벨 1이라 빠르고 쉽게 풀었다!
public int[] solution(int[] array, int[][] commands) {
int[] answer = new int[commands.length];
for(int i=0; i<commands.length; i++) {
int[] command = commands[i];
int[] temp = new int[command[1]-command[0]+1];
int k =0;
for(int j=command[0]-1; j<command[1]; j++) {
temp[k] = array[j];
k++;
}
Arrays.sort(temp); //오름차순 정렬
answer[i] = temp[command[2]-1];
}
return answer;
}
만약 오름차순 정렬이 아니고 내림차순 정렬이라면 아래와 같이 처리해야 한다. int 타입일 때는 위와 같은 방법으로 정렬할 수 없고, Integer타입 배열로 변경해 주어야 한다.
- int Array 내림차순 정렬 방법
Integer[]temp2 = Arrays.stream(temp).boxed().toArray(Integer[]::new);
Arrays.sort(temp2, Collections.reverseOrder());
728x90
반응형
'개발 > 알고리즘' 카테고리의 다른 글
[프로그래머스/JAVA] 신고 결과 받기 (1) | 2022.07.24 |
---|---|
[프로그래머스/JAVA] 가장 큰 수 - 정렬 (0) | 2022.02.20 |
[프로그래머스/JAVA] 베스트 앨범 - 해시 (0) | 2022.02.20 |
[프로그래머스/JAVA] 위장 - 해시 (0) | 2022.02.18 |
[프로그래머스/JAVA] 전화번호 목록 - 해시 (0) | 2022.02.18 |
댓글