https://school.programmers.co.kr/learn/courses/30/lessons/77484
내 풀이
function solution(lottos, win_nums) {
let win = 0
let cnt = 0
let winner = [6,6,5,4,3,2,1]
lottos.map(num => {
win_nums.includes(num) && win ++;
num === 0 && cnt ++;
})
return Array(winner[win+cnt], winner[win])
}
- map()은 새로운 배열을 반환하는데, 지금은 새로운 배열을 반환하기보다는 각 요소를 가공하는것이 목표이므로 forEach를 사용해도 된다.
수정한 코드!
function solution(lottos, win_nums) {
let win = 0;
let cnt = 0;
const winner = [6, 6, 5, 4, 3, 2, 1];
const winSet = new Set(win_nums);
lottos.forEach(num => {
if (winSet.has(num)) {
win++;
}
if (num === 0) {
cnt++;
}
});
return [winner[win + cnt], winner[win]];
}
'알고리즘' 카테고리의 다른 글
[프로그래머스] lv1. 문자열 내 마음대로 정렬하기 (JavaScript) (0) | 2023.06.20 |
---|---|
[프로그래머스] lv1. 모의고사 (JavaScript) (0) | 2023.06.20 |
[프로그래머스] lv1. 두 개 뽑아서 더하기 (JavaScript) (0) | 2023.06.20 |
[프로그래머스] lv1. 같은 숫자는 싫어 (JavaScript) (0) | 2023.06.20 |
[프로그래머스] lv1. 3진법 뒤집기 (JavaScript) (0) | 2023.06.20 |