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

📍 [코드]
import java.util.*;
class Solution {
public int[] solution(int[] array, int[][] commands) {
List<Integer> answer = new ArrayList<>();
for(int[] c : commands) {
List<Integer> list = new ArrayList<>();
for(int i = c[0] - 1; i < c[1]; i++){ // 분리
list.add(array[i]);
}
Collections.sort(list); // 정렬
answer.add(list.get(c[2] - 1)); // 값 저장
}
return answer.stream().mapToInt(Integer::intValue).toArray();
}
}
💡 접근법
- int[] 배열을 순회하며
- c[0] -1 인덱스부터 c[1] -1 인덱스까지 배열 저장
Collections.sort()로 리스트를 정렬하고- 정렬된 리스트에서 해당 값 (c[2] - 1)을 저장한다.
- 이후 int[]로 반환
✅ n번째로 따지므로 인덱스 값에 -1 하는 것
💬 마무리
리스트를 활용해서 인덱스를 신경 안쓰고 값을 넣어도 돼서 편했던 것 같다.
다른 분들의 풀이를 보니 range를 활용해서 int[] 그대로로 푸는 것 같다.
이 방법에 대해서도 공부를 해봐야 할 것 같다.
다른 사람의 풀이법을 보며 배우는 것은 큰 도움이 되는 것 같다.
728x90
반응형
'💻코딩 > 💡Programmers' 카테고리의 다른 글
| [프로그래머스|JAVA] 정수 내림차순으로 정렬하기 | StringBuilder 사용 ⭕️ , 간단 코드, Stream 사용 ❌ (2) | 2025.09.01 |
|---|---|
| [프로그래머스|JAVA] 서버 증설 횟수 📈 | 배열 활용 | 쉬운 코드 ⭕️ (0) | 2025.08.25 |
| [프로그래머스|JAVA] 시저 암호 | 🌐 아스키코드 값 (유니코드) 활용 | 간단 코드 (1) | 2025.08.25 |
| [프로그래머스|JAVA] 가운데 글자 가져오기 | 간결 & 쉬운 코드 📚 | 간편하게 String 형변환 방법 포함 ⭕️ (2) | 2025.08.25 |
| [프로그래머스|JAVA] 최댓값과 최솟값 | 🔢 Integer.MAX_VALUE / Integer.parseInt 활용 (1) | 2025.08.25 |
