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

Bendeso·2023년 8월 23일
0

알고리즘

목록 보기
17/19
post-thumbnail

❗ 문제 설명

❗ 입출력 예

❗ 주의사항

  • 다음 스테이지로 넘어갈 때 총 플레이어의 수를 잘 계산해야한다.

✍ 문제풀이

function solution(N, stages) {
    let answer = [];
    // 플레이어의 수 구하기
    let player = stages.length;
    
    // 멈춰있는 스테이지에 몇명이 멈춰있는지 구하기
    for (let i = 1; i <= N; i++) {
        // i: 스테이지 번호, person: 멈춰있는 사람의 스테이지 번호
        const failPlayer = stages.filter(person => person === i).length;
        const fail = failPlayer / player
        // 실패율을 구한 후 배열에 스테이지 번호와 함께 저장하기
        answer.push([i, fail])
        
        // 다음 스테이지에 도달하지 못한 플레이어는 빼주기
        player = player - failPlayer
    }
    
    // 실패율을 기준으로 정렬
    answer.sort((a, b) =>  b[1] - a[1])
    
    return answer.map(stage => stage[0])
}
profile
성장을 위한 몸부림

0개의 댓글