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

zeroequaltwo·2022년 11월 22일
0

코딩테스트

목록 보기
45/69

문제

프로그래머스 문제

내 풀이

  • 카카오 문제라 그런가 문제 지문 길고.. 어렵다.... 힝
function solution(N, stages) {
    let staged = Array(N).fill(0);
    let completed = Array(N).fill(0);
    for(var s of stages){
        for(var i=0; i<s; i++){
            if(i < N){
                staged[i]++;
                if(i === s-1) completed[i]++;
            }
        }
    }
    
    let fail = staged.map((s, i) => completed[i] / s + "/" + (i+1)).sort((a,b) => b.split("/")[0] - a.split("/")[0]);
    return fail.map(per => +per.split("/")[1]);
}

개선점

  • 나랑 논리는 똑같은데 나보다 훨씬 예쁘고 알아보기 쉬워서 갖고왔다.
function solution(N, stages) {
    let result = [];
    for(let i=1; i<=N; i++){
        let reach = stages.filter((x) => x >= i).length;
        let curr = stages.filter((x) => x === i).length;
        result.push([i, curr/reach]);
    }
    result.sort((a,b) => b[1] - a[1]);
    return result.map((x) => x[0]);
}
profile
나로 인해 0=2가 성립한다.

0개의 댓글