반응형
문제 설명
전체 문제는 프로그래머스에 있습니다.
제한 사항
풀이
- 우선 각 스테이지에 머무르고 있는 사용자 수를 Map으로 구현하고자 했다.
- 그리고 stageSet을 따로 만들어서 각 스테이지별 실패율을 구하려고 했다.
그래서 나온 소스코드
function solution(N, stages) {
var answer = [], stageMap = new Map(), len = stages.length;
stages.forEach((v) => {
stageMap.set(v, (stageMap.get(v) || 0) + 1);
});
let stageSet = [];
for(let i=1; i<=N; i++) {
stageSet.push(stageMap.has(i) ? { stage: i, failRate: stageMap.get(i) / len }:{ stage: i, failRate: 0 });
len = len - (stageMap.get(i) || 0);
}
answer = stageSet.sort((a, b) => b.failRate - a.failRate).map((v) => {
return v.stage;
});
return answer;
}
결과는 성공이었지만,, 시간이 오래 걸리는 것들이 눈에 걸렸다.
뭔가 불필요한 소스코드가 있거나 더 좋은 방법이 있는 듯했다.
다른 사람의 풀이를 보니.. 역시 있었다.
갈길이 멀구나
반응형
'개발 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/자바스크립트(JS)] 오픈채팅방 (0) | 2022.04.27 |
---|---|
[프로그래머스/자바스크립트(JS)] 문자열 압축 (0) | 2022.04.21 |
[프로그래머스/자바스크립트(JS)] [카카오 인턴] 키패드 누르기 (0) | 2022.04.21 |
[프로그래머스/자바스크립트(JS)] 숫자 문자열과 영단어 (0) | 2022.04.21 |
[프로그래머스/자바스크립트(JS)] 신규 아이디 추천 (1) | 2022.04.21 |