반응형
문제 설명
제한 사항
풀이
처음 문제를 본 나의 생각
- 반복하는 수를 줄이기 위해 0이 아닌 값으로 배열을 재구성
- 일치하는 개수에 해당하는 순위를 갖고 있는 Map 생성
습관처럼 object로 만들었다가.. Map으로 다시 했다. 배웠으니 써야지.
최고 순위: 일치한 개수 + 0의 개수
최저 순위: 일치한 개수
function solution(lottos, win_nums) {
var list = lottos.filter((v) => {
return v != 0;
}), rank = new Map();
rank.set(6, 1);
rank.set(5, 2);
rank.set(4, 3);
rank.set(3, 4);
rank.set(2, 5);
rank.set(1, 6);
rank.set(0, 6);
var zeroCnt = 6 - list.length;
if(zeroCnt == 6) {
return [1,6];
}
var winCnt = 0;
list.forEach((num) => {
win_nums.forEach((num2) => {
if(num == num2) {
winCnt++;
}
});
});
return [rank.get(winCnt+zeroCnt), rank.get(winCnt)];
}
반응형
'개발 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/자바스크립트(JS)] 실패율 (0) | 2022.04.21 |
---|---|
[프로그래머스/자바스크립트(JS)] [카카오 인턴] 키패드 누르기 (0) | 2022.04.21 |
[프로그래머스/자바스크립트(JS)] 숫자 문자열과 영단어 (0) | 2022.04.21 |
[프로그래머스/자바스크립트(JS)] 신규 아이디 추천 (1) | 2022.04.21 |
[프로그래머스/자바스크립트(JS)] 신고 결과 받기 (1) | 2022.04.20 |