https://programmers.co.kr/learn/courses/30/lessons/77484
로또의 당첨 번호와 일치하는 번호가 있다면 맞힌 걸로 인정하여 순위를 구하는 문제이다.
거기서 알아볼 수 없는 번호가 있고 그 번호를 예측하여 최고 순위와 최저 순위를 찾아야 한다.
📃 조건
python
def solution(lottos, win_nums):
rank = [6,6,5,4,3,2,1]
count = 0
zero_count = 0
for num in lottos:
if num == 0:
zero_count += 1
continue
for win_num in win_nums:
if num == win_num:
count += 1
high_score = rank[zero_count + count]
low_score = rank[count]
return [high_score, low_score]
javascript
function solution(lottos, winNums) {
let count = 0;
let zero = 0;
lottos.forEach((num) => {
if (winNums.includes(num)) count++;
if (num === 0) zero++;
});
let high = (7 - (count + zero));
let low = (7 - count);
if (zero === 6) low--;
if (count === 0 && zero === 0) {
high--;
low--;
}
return [high, low];
}
파이썬으로 풀 때는 rank를 미리 정해두고 그 곳에 맞는 위치를 찾았다면 js에서는 맞은 숫자를 카운트 하는 식으로 풀었다.
2021.08.23