hani:) 2023. 6. 21. 17:27

문제

https://school.programmers.co.kr/learn/courses/30/lessons/42889

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 풀이

function solution(N, stages) {
    let result = []; // 1) 결과 값 저장할 변수
    
    // 2) for문 사용하여 주어진 스테이지의 수만큼 반복
    for (let i=1; i<=N; i++) {
        let success = stages.filter((s) => s >= i).length; // 2-1) 스테이지에 도달한 플레이어 수
        let fails = stages.filter((s) => s === i).length; // 2-2) 아직 클리어하지 못한 플레이어의 수
        result.push([i, fails/success]);
    }
    
    // 3) 실패율로 배열 정렬
    result.sort((a,b) => b[1] - a[1]);
    return result.map((r) => r[0]);
}
728x90