let result = new Array();
for(let i = 0; i < N; i++){
result.push(i+1);
}
return result.sort((a,b)=>failures[b]-failures[a]);
https://programmers.co.kr/learn/courses/30/lessons/42889#
실패율 = 해당스테이지에 남아있는 사람 / 해당 스테이지 도달한 사람(통과 포함)
- 스테이지에 머물러 있는 사람
for(let stage of stages){
stageCount[stage]++;
}
- 해당 스테이지를 도달한 사람
for(let i = 2; i < N+2; i++){
stageUsers[i] = stageUsers[i-1] - stageCount[i-1];
}
- 스테이지 별 실패율
for(let i = 1; i < N+2; i++){
failures[i] = stageCount[i] / stageUsers[i];
}
- 실패율에 따른 스테이지 별 sorting
function solution(N, stages) {
let stageUsers = new Array(N+2).fill(0);
stageUsers[1] = stages.length;
let stageCount = new Array(N+2).fill(0);
let failures = new Array(N+2).fill(0);
for(let stage of stages){
stageCount[stage]++;
}
for(let i = 2; i < N+2; i++){
stageUsers[i] = stageUsers[i-1] - stageCount[i-1];
}
for(let i = 1; i < N+2; i++){
failures[i] = stageCount[i] / stageUsers[i];
}
let result = new Array();
for(let i = 0; i < N; i++){
result.push(i+1);
}
return result.sort((a,b)=>failures[b]-failures[a]);
}
728x90
반응형
'Problem Solving' 카테고리의 다른 글
[1차] 뉴스 클러스터링 (0) | 2020.09.04 |
---|---|
[1차] 비밀지도 (0) | 2020.09.03 |
[1차] 다트 게임 (0) | 2020.09.03 |
소수 찾기 (0) | 2020.09.03 |
서울에서 김서방 찾기 (0) | 2020.09.03 |