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 |