핵심은 Arrays.copyOfRange 를 사용하는 것.
제출후에 다시보니 쓸데 없이 List를 사용한 것 같음. 괜히 List를 Array로 변환하는 작업만 추가됨.
import java.util.*;
class Solution {
public int[] solution(int[] array, int[][] commands) {
int[] answer = new int[commands.length];
List<Integer> ans = new ArrayList<Integer>();
for (int[] command : commands) {
int[] tmp = Arrays.copyOfRange(array, command[0]-1, command[1]);
Arrays.sort(tmp);
int t = tmp[command[2]-1];
ans.add(t);
}
for (int i = 0; i < ans.size(); i++) {
answer[i] = ans.get(i);
}
return answer;
}
}
출처: 프로그래머스 코딩 테스트 연습,
https://programmers.co.kr/learn/challenges
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] (정렬) 가장 큰 수 (0) | 2021.03.25 |
---|---|
[프로그래머스] (스택/큐) 프린터 (0) | 2021.03.23 |
[프로그래머스] (스택/큐) 기능개발 (0) | 2021.03.23 |
[프로그래머스] (스택/큐) 주식가격 (0) | 2021.03.22 |
[프로그래머스] (스택/큐) 다리를 지나는 트럭 (0) | 2021.03.22 |
댓글