[프로그래머스] 실패율 (javascript)

728x90
반응형

stage에 도달한 사람 수는 현재 스테이지보다 숫자가 큰 스테이지의 개수를 세준다.

현재 스테이지를 못깨는 사람은 현재 스테이지와 숫자가 같은 사람의 수를 세준다.

마지막에 배열에 stage번호와 비율을 넣어준다.

정렬한다.

function solution(N, stages) {
    var answer = [];
    const total=[];
    for(let i=1;i<=N;i+=1){
        let cnt=0;
        let players=0;
        for(let j=0;j<stages.length;j+=1){
            if(stages[j]>=i){
                players+=1;
            }
            if(stages[j]==i){
                cnt+=1;
            }
        }
        answer.push({stage:i,percent:cnt/players});
    }
    answer.sort((a,b)=>{
        if(a.percent===b.percent){
            return a.stage-b.stage;
        }else{
            return b.percent-a.percent;
        }
    })
    // console.log(answer)
    return answer.map(item=>item.stage)
}
728x90
반응형
TAGS.

Comments