프로그래머스/level 1

[프로그래머스] 실패율

binaryJournalist 2021. 8. 23. 20:49
반응형

 

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

 

 

 

 

 

 

 

알고리즘 강의 듣다 보니 이제 무엇을 써야 할지 감이 잡히는 것 같다.

 

계수정렬을 이용했다.

 

 

 

** Javascript

 

Object 를 안 쓰려했는데 결국 쓰게 됐다.

 

 

function solution(N, stages) {
    let challenging = new Array(N + 1).fill(0);
    for (let i = 0; i < stages.length; i++) {
        challenging[stages[i] - 1]++;
    }
    let challengers = stages.length;
    let ratio = [];
    for (let i = 0; i < N; i++) {
        ratio.push({ index: i + 1, ratio: challenging[i] / challengers });
        challengers -= challenging[i];
    }
    return ratio.sort((a, b) => (a === b) ? a.index - b.index : b.ratio - a.ratio ).map((r) => r.index);
}

 

반응형