실패율

Happhee·2022년 1월 31일

[ LV1 ]  programmers

목록 보기
3/4
post-thumbnail

📝 실패율

🖥 나의 JS 코드

function solution(N, stages) {
    let count = 0;
    let result = [];
    let sum = stages.length
    for(let n = 1 ; n <= N; n++){
        sum = sum- count;
        count = 0;
        stages.map(stage=>{
            if(stage === n)
                count++;
        })
      
      // 남은 요소가 없다면 
      // 즉, 스테이지에 도달한 유저가 없는 경우
      // 해당 스테이지의 실패율은 0으로 정의한다
        if(sum == 0){
            result.push([n, 0]);
        	answer.push(0);
        }
      
      // 남은 요소가 있다면 실패율을 계산해서 결과 배열에 저장
      else {
            result.push([n, count/sum]);
        	answer.push(count/sum);
        }    
    }

  // 실패율이 높은 순으로 정렬
    answer.sort((a,b)=> b-a);

    let final = []
    answer.map((data,index)=>{
      // 정렬된 실패율 순서대로 결과값에서 해당 실패율을 가진 요소의 stage번호를
      // 작은 순서대로 추가한다
        for(let i = 0 ; i < result.length ; i++){
            if(data === result[i][1]){
               final[index] = result[i][0];
                result.splice(i,1);
                break;
            }
        }
        
    })
    
    return final;
}
profile
즐기면서 정확하게 나아가는 웹프론트엔드 개발자 https://happhee-dev.tistory.com/ 로 이전하였습니다

0개의 댓글