[JS] 프로그래머스 - 실패율

eunji·2022년 9월 1일
0

알고리즘

목록 보기
2/10
function solution(N, stages) {
    var answer = [];
    
    let personNumPerStage=new Map();
    let failureRate=new Map();
    let totalPerson=stages.length;
    
    stages.map(num=>{
        let personNum=personNumPerStage.get(num);
        personNumPerStage.set(num, personNum?++personNum:1);
    })
    
    for(let i=0;i<N;i++){
        let failNum=personNumPerStage.get(i+1);
        failureRate.set(i+1, failNum?failNum/totalPerson:0);
        if(failNum){
            totalPerson-=failNum;    
        }        
    }
    
    const mapToArray = Array.from(failureRate);
    mapToArray.sort((a,b)=>b[1]-a[1]);
    mapToArray.map(obj=>answer.push(obj[0]));
    
    return answer;
}

업로드중..

다른 사람들 풀이를 보니까 굳이 map 객체를 써서 풀지 않아도 됐던것 같다...
단순하고 효율성이 있는 풀이를 생각하는 능력을 길러봐야지 !

profile
프롱이

0개의 댓글