let result = new Array();
for(let i = 0; i < N; i++){
result.push(i+1);
}
return result.sort((a,b)=>failures[b]-failures[a]);
javascript
https://programmers.co.kr/learn/courses/30/lessons/42889#
코딩테스트 연습 - 실패율
실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스��
programmers.co.kr
실패율 = 해당스테이지에 남아있는 사람 / 해당 스테이지 도달한 사람(통과 포함)
- 스테이지에 머물러 있는 사람
for(let stage of stages){
stageCount[stage]++;
}
javascript
- 해당 스테이지를 도달한 사람
for(let i = 2; i < N+2; i++){
stageUsers[i] = stageUsers[i-1] - stageCount[i-1];
}
javascript
- 스테이지 별 실패율
for(let i = 1; i < N+2; i++){
failures[i] = stageCount[i] / stageUsers[i];
}
javascript
- 실패율에 따른 스테이지 별 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]);
}
javascript
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 |