Contents
https://school.programmers.co.kr/learn/courses/30/lessons/138477
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
이것도 문제가 너무너무 길다.
근데 막 어렵진 않았다.
그냥 명예의 전당이 있는데 상위 티어 k명만 올라갈 수 있다.
그리고 발표 점수는 명예의 전당 중 가장 낮은 점수가 된다.
import java.util.*;
class Solution { // 명예의 전당(1)
public int[] solution(int k, int[] score) {
int[] answer = new int[score.length];
ArrayList<Integer> list = new ArrayList<>(); // 명예의 전당 자리
for (int i = 0; i < score.length; i++) {
if (list.size() < k) { // 일단 값들 넣고 봐
list.add(score[i]);
Collections.sort(list, Collections.reverseOrder()); // 마지막엔 내림차순 정렬
} else if (Collections.min(list) < score[i]) { // 최소 값보다 score의 값이 커지면
list.remove(k - 1); // 마지막 값 제거
list.add(score[i]); // 값 추가
Collections.sort(list, Collections.reverseOrder()); // 마지막엔 내림차순 정렬
}
answer[i] += Collections.min(list); //최소 값이 발표 점수
}
return answer;
}
}
코드를 보면 명예의 전당에 등극한 사람들을 어레이리스트에 넣어준다
리스트의 크기가 k보다 작다면 일단 점수를 계속 넣는다
그리고 가장 낮은 점수 비교를 하기 위해 내림차순 정렬을 해준다
만약 리스트의 최소값보다 큰 값이 들어오게 되면 마지막 값을 제거한다
그리고 내림차순 정렬을 해준다
answer의 각 자리에 리스트의 최소값을 넣어준다
ezez
'프로그래머스' 카테고리의 다른 글
[프로그래머스] [PCCP 기출문제] 1번 / 붕대 감기 (JAVA) (4) | 2024.12.22 |
---|---|
[프로그래머스] 옹알이 (2) (JAVA) (2) | 2024.06.25 |
[프로그래머스] 카드 뭉치 (JAVA) (2) | 2024.03.30 |
[프로그래머스] JadenCase 문자열 만들기 (JAVA) (4) | 2024.03.27 |
[프로그래머스] 두 개 뽑아서 더하기 (JAVA) (1) | 2024.03.27 |