# 예시 데이터
lottos = [44,1,0,0,31,25]
win_nums = [31,10,45,1,6,19]
matchNum = 0 # 일치한 숫자 개수
zeroCount = 0 # 숫자 0의 개수
변수 | 설명 | 형식 |
---|---|---|
matchNum | 구매한 로또 번호에서 당첨번호와 일치하는 개수 | int |
zeroCount | 구매한 로또 번호에서 보이지 않는 번호 (0) 개수 | int |
for lot_num in lottos:
if lot_num in win_nums: # lottos의 숫자를 순서대로 불러내어 당첨 번호 리스트에 포함되는지 확인
matchNum += 1 # 일치하면 matchNum +1
elif lot_num == 0: # lottos의 숫자가 0이라면
zeroCount += 1 # zeroCount +1
maxWin = matchNum + zeroCount # 일치한 개수와 0의 개수를 더함
변수 | 설명 | 형식 |
---|---|---|
maxWin | 구매한 로또 번호에서 당첨 번호와 일치하는 숫자의 개수와 0의 개수 합 | int |
if zeroCount == 6: #모든 숫자가 0일 경우 대비
matchNum = 1
maxWin = 6
elif matchNum == 0: # 모든 숫자가 일치하지 않을 경우 (0이 없음)
matchNum = 1
maxWin = 1
모든 숫자가 0 일 경우 (모두 안보이는 경우)에는 matchNum을 1로 maxWin을 6으로 한다.
모든 숫자가 0도 없고 당첨 번호와 일치하지 않을 경우 matchNum을 1로 maxWin을 1로 한다.
answer = [7-maxWin, 7-matchNum] # 7에서 maxWin과 matchNum 을 빼 순위 계산
answer
[3, 5]
rank = [6,6,5,4,3,2,1] # 순서대로 순위를 미리 정의함
cnt_0 = lottos.count(0) # lottos에서 0의 개수를 셈
ans = 0
for x in win_nums: #정답 번호를 1개씩 불러와
if x in lottos: # 구매한 로또에 포함되어 있는 숫자라면 ans +1
ans += 1
print(rank[cnt_0 + ans], rank[ans])
# 최대 순위 : 0의 개수와 정답 개수를 합쳐 해당하는 rank의 index 참조
# 최소 순위 : 맞춘 정답의 개수에 해당하는 rank의 index 참조
3 5