프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제

제출한 코드
import java.util.*;
class Solution {
public int[] solution(int[] array, int[][] commands) {
int[] result = new int[commands.length];
for (int i = 0; i < commands.length; i++) {
int[] arr = Arrays.copyOfRange(array, commands[i][0] - 1, commands[i][1]);
Arrays.sort(arr);
result[i] = arr[commands[i][2] - 1];
}
return result;
}
}
풀이
배열을 잘라야 하므로 Arrays.copyOfRange() 를 사용했다.
copyOfRange() 메서드는 총 3개의 인자값을 받는데, 첫 번째는 배열의 원본, 두 번째는 자를 시작지점, 세 번째는 끝낼 지점을 받는다.
예를 들어, 배열 array가 [1, 2, 3, 4, 5] 가 라고 가정했을 때, copyOfRange(array, 1, 3) 을 받는다면 1번 인덱스인 2부터, 3번 인덱스 한 전인 3까지 [2, 3] 를 반환한다.
자른 배열을 Arrays.sort() 를 사용해서 오름차순으로 정렬한 뒤, result 배열에 결과값을 넣어준 후 반환해주었다.
'프로그래머스' 카테고리의 다른 글
| [프로그래머스] 142086번 - 가장 가까운 같은 글자 [Java] (0) | 2026.05.18 |
|---|---|
| [프로그래머스] 68644번 - 두 개 뽑아서 더하기 [Java] (0) | 2026.05.15 |
| [프로그래머스] 12915번 - 문자열 내 마음대로 정렬하기 [Java] (0) | 2026.05.12 |
| [프로그래머스] 81301번 - 숫자 문자열과 영단어 [Java] (0) | 2026.05.11 |
| [프로그래머스] 12926번 - 시저 암호 [Java] (0) | 2026.05.08 |