문제
답안
function solution(N, stages) {
let answer = [];
//실패한 사람은 제외해야되기 떄문에 임시 변수 people생성
let people = stages.length
for (let i = 1; i <= N+1; i++) {
//Array.filter() : 조건을 만족하는 원소만 추출
let tmp = stages.filter(n => n === i).length
//answer = [[스테이지, 실패율]]
answer.push([i, tmp / people])
//실패한 사람 제외
people -= tmp
}
answer.pop()
//answer의 2번째 원소기준으로 내림차순으로 정렬
answer = answer.sort((a,b) => b[1] - a[1])
//Array.map() : 배열을 조건에 맞게 변환
return answer.map( a => a[0]);
}
후기
배열 내의 배열을 내림차순하는 법을 배웠다.
그리고 map을 이용해 원하는 배열 추출
728x90
'자바스크립트 코딩테스트' 카테고리의 다른 글
프로그래머스 Level 1 - 소수 찾기 (Javascript) (0) | 2023.12.02 |
---|---|
프로그래머스 Level 1 - 덧칠하기 (Javascript) (2) | 2023.11.30 |
프로그래머스 Level 1 - 옹알이(2) (Javascript) (0) | 2023.11.28 |
프로그래머스 Level 1 - 로또의 최고 순위와 최저 순위 (Javascript) (0) | 2023.11.27 |
프로그래머스 Level 1 - 숫자 짝꿍 (Javascript) (0) | 2023.11.26 |