코딩테스트 연습

프로그래머스 코딩테스트 연습 - 명예의 전당 (1) JavaScript

citron031 2022. 12. 5. 22:34
function solution(k, score) {
    const answer = [];
    let legend = [];
    for(let i of score) {
        if(legend.length < k) {
            legend.push(i);
        }else {
            legend.sort((a, b) => a - b);
            if(legend[0] < i) {
                legend[0] = i;
            }
        }
        answer.push(Math.min(...legend));
    }
    return answer;
}
  • 가장 낮은 숫자의 점수를 매번 새로운 점수와 비교하여 가장 높은 최상위 점수 k를 유지하는 것이 중요했던 문제였다.
  • 힙정렬을 통해서 값이 매번 들어올 때 정렬해주는 알고리즘을 구현했으면 더 좋았겠지만, 간단하게 구현하였다.