FrontEnd/프로그래머스

[JS] 실패율

728x90

우선 N개의 배열을 만들어서 배열의 첫번째부터

 

[ 해당 라운드에 도착한 사람 , 해당 라운드를 아직 못 깬 사람 , 스테이지 ]

 

를 저장해두었다. 이후, stage배열을 받아서 for문을 통해서 위 사람들을 채워주었다.

 

마지막으로 sort()를 활용해서 실패율을 구하면서 정렬을 해주고, map 함수를 통해서 스테이지만 남겨주는 방식으로 해결해보았다.

 

 

function solution(N, stages) {
    var ary = [ ... Array(N) ].map((_,i) => [0,0,i+1])
    
    for (const stage of stages) {
        for (let i=1 ; i<stage ; i++) ary[i-1][0]+=1
        if (stage === N+1) continue
        ary[stage-1][1]++
        ary[stage-1][0]++
    }
    const ret = ary.sort((a,b) => a[0]/a[1] - b[0]/b[1]).map(el => el[2])
    return ret;
}
728x90

'FrontEnd > 프로그래머스' 카테고리의 다른 글

[JS] 모의고사  (0) 2023.04.25
[JS] 체육복  (0) 2023.04.25
[JS] 크레인 인형뽑기  (1) 2023.04.23
[JS] 키패드누르기  (0) 2023.04.21
[JS] 두개 뽑아서 더하기  (0) 2023.04.20