프로그래머스 Lv.1 실패율

Kim Jason·2023년 4월 3일
0

알고리즘 노트

목록 보기
22/35
post-thumbnail

2019 카카오 블라인드 채용

💁🏻 코드

function solution(N, stages) {
    const failRate = {};
    let [std, players] = [1, stages.length];
    
    while (std <= N) {
        let len = stages.filter(stage => stage === std).length;
        failRate[std] = (len / players);
        players -= len;
        std++;    
    }
    let arr = Object.entries(failRate);
    
    return arr
        .sort((a, b) => b[1] - a[1])
        .map(el => +el[0]);
}

입력값의 제한은 다음과 같다.

  • 1 <= 스테이지 개수 N <= 500
  • 1 <= 배열 stages(유저 목록) <= 200,000

이중 for문 사용까지는 무난하다고 생각했다.
처음에는 실패율의 의미를 이해하기 어려웠는데 파악하고 나니까 문제 풀이는 어렵지 않았다.

profile
성장지향형 프론트엔드 개발자

0개의 댓글