코딩테스트

[프로그래머스/Javascript] 실패율

셈인 2023. 6. 28. 00:02

📄 문제

Lv 1. 2019 KAKAO BLIND RECRUITMENT 실패율

 

프로그래머스

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

programmers.co.kr


🔍 문제 접근

❓ 실패율을 기준으로 스테이지 오름차순으로 정렬해야 한다

💡 실패율과 스테이지 정보가 모두 필요하므로 객체를 활용하자

 


📝 문제 풀이

  • 실행 시간 단축을 위해 failerchallenger로 filtering 하였습니다
const failer = stages.filter(stage => i === stage); // 평균 843.64ms
const failer = challenger.filter(stage => i === stage); // 평균 755.78ms
function solution(N, stages) {
    const failerInfo = [];

    for (let i = 1; i <= N; i++) {
        const challenger = stages.filter(stage => i <= stage);
        const failer = challenger.filter(stage => i === stage)

        failerInfo.push({
            stage: i,
            rate: failer.length / challenger.length
        });
    }

    return failerInfo.sort((a, b) => b.rate - a.rate).map(info => info.stage);
}