실패율 - javascript

Hoony·2022년 7월 16일
0

문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/42889

풀이

  • 전체 유저의 stages 상태를, stage별 유저 수를 구한다. (stage별 실패율을 구하기 위해)
  • 각 stage별 failed ratio를 구한다음, 정렬하면 끝

function solution(N, stages) {

    let clear= new Array(N);
    let failRatio = [];
    clear.fill(0)

    for (const s of stages) {
        if (N >= s) {
            clear[s - 1]++;   
        }
    }

    let sum = 0;
    for (let i = 0; i < clear.length; i++) {
        failRatio[i] = {
            stage: i + 1,
            ratio: clear[i] / (stages.length - sum)
        }
        sum += clear[i];
    }


    const answer = failRatio.sort((a, b) => b.ratio - a.ratio).map(x => x.stage);

    return answer;
}
profile
아는 만큼 보인다

0개의 댓글