❌풀이
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
class Solution {
public int[] solution(int k, int[] score) {
// list를 만들어서 값을 계속 집어넣는다
// index 개수가 k 보다 작다면 그냥 집어넣고 정렬 -> 마지막 숫자 result에 저장
// index 개수가 k 보다 크거나 같다면 정렬 -> 마지막 숫자 자르기 -> k번째 숫자 result에 저장
List<Integer> list = new ArrayList<>();
List<Integer> answer = new ArrayList<>();
for (int i = 0; i < k; i++) {
list.add(score[i]);
Collections.sort(list);
answer.add(list.get(0));
}
for (int i = k; i < score.length; i++) {
list.add(score[i]);
Collections.sort(list);
list.remove(0);
answer.add(list.get(0));
}
return answer.stream().mapToInt(Integer::intValue).toArray();
}
}
💡풀이 2
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
class Solution {
public int[] solution(int k, int[] score) {
List<Integer> list = new ArrayList<>(); // 명예의 전당
List<Integer> answer = new ArrayList<>(); // 매일 발표할 최하위 점수
for (int dailyScore : score) {
list.add(dailyScore); // 새로운 점수 추가
// 오름차순 정렬
Collections.sort(list);
// 명예의 전당이 k개를 초과하면 가장 낮은 점수 제거
if (list.size() > k) {
list.remove(0);
}
// 현재 명예의 전당의 최하위 점수 추가
answer.add(list.get(0));
}
return answer.stream().mapToInt(Integer::intValue).toArray();
}
}
GitHub - okjunghyeon/Programmers_CodingTest: 프로그래머스 관련 코딩테스트 문제를 풀이한 저장소입니다.
프로그래머스 관련 코딩테스트 문제를 풀이한 저장소입니다. Contribute to okjunghyeon/Programmers_CodingTest development by creating an account on GitHub.
github.com
'CodingTest > Programmers' 카테고리의 다른 글
[프로그래머스, Java] 비밀지도 (1) | 2025.07.15 |
---|---|
[프로그래머스, Java] 카드 뭉치 (0) | 2025.07.15 |
[프로그래머스, Java] 문자열 내 마음대로 정렬하기 (0) | 2025.07.15 |
[프로그래머스, Java] 콜라 문제 (0) | 2025.07.15 |
[프로그래머스, Java] K번째수 (0) | 2025.07.15 |