
function solution(N, stages) {
var answer = [];
let failureStages = [];
for(let i = 1; i <= N; i++){
const totalUser = stages.filter(e => e >= i).length;
const failUser = stages.filter(e => e == i).length;
const failureRate = failUser / totalUser || 0; //NaN 일 경우
failureStages.push({stage : i , rate : failureRate})
}
failureStages.sort((a, b) => {
if(a.rate === b.rate){
return a.stage - b.stage;
}
return b.rate - a.rate
})
failureStages.forEach(e => answer.push(e.stage))
return answer;
}
리팩토링 손댈만한 곳 많을거 같은데......
필터로 계속 뽑아내는게 비 효율적인것 같긴한데 포문으로 해서 가져오는게 뭐가 좋을까.