실패율
슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다.
이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했다. 역시 슈퍼 개발자라 대부분의 로직은 쉽게 구현했지만, 실패율을 구하는 부분에서 위기에 빠지고 말았다. 오렐리를 위해 실패율을 구하는 코드를 완성하라.
function solution(N, stages) {
var answer = [];
for(let i=1; i <= N; i++) {
let num = stages.filter(el => el === i).length;
let stage = stages.filter(el => el >= i).length;
answer.push([i, num/stage]);
}
answer.sort((a,b) => b[1]-a[1]);
return answer.map(el => el[0]);
}
01 for문을 통해서 answer 배열에 내용을 추가해 준다.
02 변수 num 은 i번째에 해당되는 요소를 담는다.
03 변수 stage 은 i번째에 해당되는 요소를 포함한 요소를 담는다.
04 answer에 해당 i와 실패율을 담는다.
05 answer를 실패율의 내림차순으로 정렬한다.
06 answer의 요소의 [0]만 출력한다.