Level1 - 로또의 최고 순위와 최저 순위
Solution
function solution(lottos, win_nums) {
var answer = [];
const rank = [6, 6, 5, 4, 3, 2, 1]
let count = 0
let zero_count = 0
for (let num of lottos) {
if (num === 0) {
zero_count++
continue
}
for (let win_num of win_nums) {
if (num === win_num) {
count++
break
}
}
}
zero_count += count
answer.push(rank[zero_count], rank[count])
return answer;
}
lottos
배열을 순회하면서 일치하는 번호의 개수와 0의 개수를 파악한다. 일치하는 번호의 개수가 최소로 맞춘 개수이며, 0의 개수까지 더하면 최대로 맞춘 개수가 된다.
rank
배열의 각각 등수가 저장되어 있고 인덱스가 맞춘 번호의 개수이다.
Clean-up
function solution(lottos, win_nums) {
var answer = [];
const rank = [6, 6, 5, 4, 3, 2, 1]
let count = 0
let zero_count = lottos.filter(num => num === 0)
lottos.forEach(num => {
if (win_nums.includes(num)) {
count++
}
})
answer.push(rank[zero_count.length + count], rank[count])
return answer;
}
-
0의 개수를 파악하는 반복문을
fillter
메서드로 교체.zero_count
는lottos
함수의 0의 개수만큼 0을 가지고 있는 배열이 된다.
fillter
메서드는 조건에 해당하는 원소가 없을 경우 빈 배열을 반환하기 때문에lottos
함수에 0이 없어도 된다. -
당첨 번호와 일치하는 번호의 개수를 파악하는 부분을
forEach
와includes
메서드를 사용했다.lottos
의 각 요소마다win_nums
에 포함되는지 확인한다.includes
메서드는 true, false 형태로 반환하기 때문에 사용했다.
Author And Source
이 문제에 관하여(Level1 - 로또의 최고 순위와 최저 순위), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@main_string/Level1-로또의-최고-순위와-최저-순위저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)