function solution(k, score) {
var answer = [];
let scoreArray = [];
score.map(a => {
if(scoreArray.length !== k) {
scoreArray.push(a)
} else {
if (a > scoreArray[0]) {
scoreArray.shift()
scoreArray.push(a);
}
}
scoreArray.sort((b,c) => b - c);
answer.push(scoreArray[0]);
})
return answer;
}
function solution(k, score) {
var answer = [];
return score.reduce((acc, cur) => {
answer.push(cur);
answer = answer.sort((a, b) => b - a).slice(0, k);
return [...acc, Math.min(...answer)];
}, []);
}
나는 k 만큼 배열이 생성되지 않으면 push하고 내림차순하고 생성되어 있으면 최소값과 score값을 비교하여 맨 앞의 값을 삭제할 지 안할 지 정했다.
다른 답은 값을 push하고 내림차순으로 정리한 다음에 0번째부터 k번째까지 잘랐다. 와우....