function solution(k, score) {
const honor = []; // 명예의 전당 배열
const scores = []; // 발표되는 최하위 점수 배열(return)
for(let i = 0; i<score.length; i++){
const now = score[i]; // i날 출연한 가수의 점수
honor.push(now)
// k날 이전까지는 그냥 최하 점수 출력
if(i<k){
scores.push(Math.min(...honor))
} else {
// k 이후에는 honor을 내림차순 정렬, k-1번째(명예의 전당 최하위 점수) 출력
honor.sort((a,b)=>b-a);
scores.push(honor[k-1])
}
}
return scores
}
function solution(k, score) {
const stack = []
return score.reduce((a,c) => {
if(stack.length < k) {
stack.push(c)
stack.sort((a,b) => a - b)
}
else {
stack.push(c)
stack.sort((a,b) => a - b)
stack.shift()
}
a.push(stack[0])
return a
},[])
}
reduce를 사용, 코드가 훨씬 깔끔해졌다.