프로그래머스[Level1] 실패율 - JavaScript

JeongPark·2022년 3월 14일
0

Algorithm

목록 보기
2/11

문제 설명

문제 링크

프로그래머스(level1) 실패율

접근 방법

  1. for 루프(stage : 1 ~ N+1) 로 설정한 뒤, filter를 이용해 users에 stage별 실패한 인원 저장

  2. answer(Object) 배열에 [stage, users/total] 스테이지, 실패율
    -> total-users(실패한 인원) 빼주기

  3. 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호가 담겨있는 배열을 return
    -> answer.sort((a,b) => b[1] - a[1]); // 두 번째 원소 기준으로 내림차순으로 정렬

코드

function solution(N, stages) {
    let answer= [];
    let total = stages.length;
    for(let i=1;i<=N+1;++i){
        let users = stages.filter(n=>n===i).length
        answer.push([i, users/total]);
        total-=users;
    }
    answer.pop();
    console.log(answer);
    answer= answer.sort((a,b)=>b[1]-a[1]);
    console.log(answer);
    return answer.map(a=>a[0]);
}
profile
無汗不成(무한불성) : 땀을 흘리지 않고는 이룰 수 없다.

0개의 댓글

관련 채용 정보