반응형
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
알고리즘 강의 듣다 보니 이제 무엇을 써야 할지 감이 잡히는 것 같다.
계수정렬을 이용했다.
** Javascript
Object 를 안 쓰려했는데 결국 쓰게 됐다.
function solution(N, stages) {
let challenging = new Array(N + 1).fill(0);
for (let i = 0; i < stages.length; i++) {
challenging[stages[i] - 1]++;
}
let challengers = stages.length;
let ratio = [];
for (let i = 0; i < N; i++) {
ratio.push({ index: i + 1, ratio: challenging[i] / challengers });
challengers -= challenging[i];
}
return ratio.sort((a, b) => (a === b) ? a.index - b.index : b.ratio - a.ratio ).map((r) => r.index);
}
반응형
'프로그래머스 > level 1' 카테고리의 다른 글
[프로그래머스] 문자열 다루기 기본 (0) | 2021.08.30 |
---|---|
[프로그래머스][위클리챌린지] 4주차 직업군 추천하기 (0) | 2021.08.30 |
[프로그래머스] 소수 찾기 (0) | 2021.08.23 |
[프로그래머스] 서울에서 김서방 찾기 (0) | 2021.08.23 |
[프로그래머스] 수박수박수박수박수박수? (0) | 2021.08.23 |