프로그래머스 LEVEL 1(실패율)

image

  • 사용 언어 : javascript

  • 해결 날짜 : 2022-08-09

  • 해결 방법 :

    • filter를 통해 각 단계 별 실패율 계산, 인덱스와 함께 저장
    • value로 내림차순 정렬 후 인덱스만 저장한 배열 반환
  • 코드

    function solution(N, stages) {
        const length = stages.length;
        const result = {};
        const answer = [];
        
        for(var i = 1; i <= N; i++) {
            const reached = stages.filter(stage => stage >= i);
            const failed = reached.filter(stage => stage <= i);
            result[i] = failed.length / reached.length;
        }
        
        const sorted = Object.entries(result).sort((a, b) => b[1] - a[1]);
        for (const value of sorted) {
            answer.push(Number(value[0]));
        }
        
        return answer;
    }