슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다.
이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했다. 역시 슈퍼 개발자라 대부분의 로직은 쉽게 구현했지만, 실패율을 구하는 부분에서 위기에 빠지고 말았다. 오렐리를 위해 실패율을 구하는 코드를 완성하라.
function solution(N, stages) {
const newList = [];
let count = 0;
let len = stages.length;
for (let i = 1; i <= N; i++) {
let stagesLen = stages.filter((elements) => elements === i).length;
if (stagesLen === 0) {
count = 0;
} else {
count = stagesLen / len;
}
len -= stagesLen;
const obj = new Object();
obj.index = i,
obj.fail = count;
newList.push(obj);
}
newList.sort((a, b) => b.fail - a.fail);
return newList.map((elements) => elements.index);
}
문제 출처: 프로그래머스