[프로그래머스] 코딩테스트 - 실패율 (Javascript)

아카시아·2021년 10월 11일
0

알고리즘

목록 보기
18/30

문제

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

풀이

function solution(N, stages) {
  const arr = [];
  const answer = [];
  let count = 0;
  // for문으로 1부터 N까지 돌면서 i와 같은 숫자를 찾아 count를 1씩 증가시키고 arr에 i와 계산한 실패율을 넣는다. 그리고 stages는 i와 같지 않는 것들만 남겨서 재할당 해주고 count는 다시 0으로 할당한다. 이 사이클을 i가 N이 될 때까지 반복한다.
  for (let i = 1; i <= N; i++) {
    stages.map((el) => {
      if (el === i) count++;
    });
    arr.push([i, count / stages.length]);
    stages = stages.filter((num) => num !== i);
    count = 0;
  }
  // arr를 실패율이 큰 순서대로 정렬하고 정렬된 순서대로 arr[0]에 해당하는 숫자를 answer에 넣어준다.
  arr.sort((a, b) => b[1] - a[1]);
  arr.map((el) => answer.push(el[0]));
  return answer;
}
profile
낭만적인 개발자

0개의 댓글