[프로그래머스 코딩테스트 연습문제] 명예의 전당 1 | 알고리즘 설명 & 문제 풀이 with 자바스크립트(Javascript)

Re_Go·2024년 1월 3일
0

코딩테스트연습

목록 보기
66/106
post-thumbnail

1. 문제 설명(요약)

2. 첫번째 문제 풀이(2024-01-02)

이 문제의 경우 honor(k 길이까지 랭크를 보관할 배열)과 lowerRank(시즌마다 최하위를 보관할 배열)을 설정하여 score의 길이만큼 for문을 돌리면서 점수들을 honor과 lowerRank에 push를 하는데,

한 사이클 마다 sort 메서드로 낮은 점수가 뒤에 오도록 합니다.(물론 앞에 와도 상관 없습니다.) 그 후 honor 배열과 push에 push를 하고 honor 배열의 길이가 k값보다 큰 경우 뒷자리를 pop(가장 낮은 점수) 시키고 honor의 멘 뒷자리를 또 push 해줍니다.

function solution(k, score) {
    let honor = []
    let lowerRank = []
    for(let i = 0 ; i < score.length ; i++){
        honor.push(score[i])
        honor.sort((a,b) => b-a);

        if(honor.length > k){
            honor.sort((a,b) => b-a);
            honor.pop();
        }
        lowerRank.push(honor[honor.length-1]);
    }
    return lowerRank
	}
}
profile
인생은 본인의 삶을 곱씹어보는 R과 타인의 삶을 배워 나아가는 L의 연속이다.

0개의 댓글