2019 KAKAO BLIND RECRUITMENT-실패율

이서현·2021년 5월 27일
0

Algorithm

목록 보기
28/76

05.26에 푼 문제입니다🌷
실패율

function solution(N, stages) {
    var answer = [];
    const stages2=stages.slice()
    const fails = new Map()
    const failrate = []
    stages2.sort((a,b)=>a-b)
    
    //stage 개수 구하기
    stages2.forEach(stage=>{
        if(!fails.has(stage)){
            fails.set(stage,1)
        }
        else{
            fails.set(stage,fails.get(stage)+1)
        }
    })
    
    // rate 계산
    let total=stages.length
    for(let i=1;i<=N;i++){
        if(fails.has(i)){
            failrate[i]=[i,fails.get(i)/total]
            total-=fails.get(i)
        }
        else{
            failrate[i]=[i,0]
        }
    }
    
    //rate 내림차순으로 정렬
    failrate.sort((a,b)=>b[1]-a[1])
    failrate.map(fail=>answer.push(fail[0]))
    
    return answer;
}
profile
안녕하세요. 이서현입니다( ღ'ᴗ'ღ )

0개의 댓글