프로그래머스/1/138477. 명예의 전당 (1)/명예의 전당 (1).js
function solution(hallOfFameCapacity, roundScores) {
const hallOfFame = [];
const result = [];
roundScores.forEach((currentScore, roundIndex) => {
// 명예의 전당 초기화
if (roundIndex < hallOfFameCapacity) {
hallOfFame.push(currentScore);
// 내림차순 정렬
hallOfFame.sort((a, b) => b - a);
} else {
// 명예의 전당 갱신
const minScore = Math.min(...hallOfFame);
// 0번째가 Math.min 메서드로 최하위 점수를 구할 수 있다.
if (currentScore > minScore) {
hallOfFame.pop();
hallOfFame.push(currentScore);
// 내림차순 정렬
hallOfFame.sort((a, b) => b - a);
}
}
// 정답 배열에 추가
result.push(Math.min(...hallOfFame));
});
return result;
}
'Coding > 내일배움캠프' 카테고리의 다른 글
[내일배움캠프] Node.js 4기 TIL | Day 47 | 24.02.18.(일) (0) | 2024.02.18 |
---|---|
[내일배움캠프] Node.js 4기 TIL | Day 46 | 24.02.17.(토) (0) | 2024.02.17 |
[내일배움캠프] 인스타그램 서비스 분석 #1 - Node.js 4기 TIL | Day 44 | 24.02.15.(목) (0) | 2024.02.15 |
[내일배움캠프] 슬랙 멘션 구현하기! - Node.js 4기 TIL | Day 43 | 24.02.14.(수) (0) | 2024.02.14 |
[내일배움캠프] 원격 repository의 특정 branch에 push하는 방법 - Node.js 4기 TIL | Day 42 | 24.02.13.(화) (0) | 2024.02.13 |