[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€-Lv1] 둜또의 졜고 μˆœμœ„μ™€ μ΅œμ € μˆœμœ„ / Python

πŸ“š Problem Solving/Programmers

https://programmers.co.kr/learn/courses/30/lessons/77484

 

μ½”λ”©ν…ŒμŠ€νŠΈ μ—°μŠ΅ - 둜또의 졜고 μˆœμœ„μ™€ μ΅œμ € μˆœμœ„

둜또 6/45(μ΄ν•˜ '둜또'둜 ν‘œκΈ°)λŠ” 1λΆ€ν„° 45κΉŒμ§€μ˜ 숫자 쀑 6개λ₯Ό μ°μ–΄μ„œ λ§žνžˆλŠ” λŒ€ν‘œμ μΈ λ³΅κΆŒμž…λ‹ˆλ‹€. μ•„λž˜λŠ” 둜또의 μˆœμœ„λ₯Ό μ •ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€. 1 μˆœμœ„ 당첨 λ‚΄μš© 1 6개 λ²ˆν˜Έκ°€ λͺ¨λ‘ 일치 2 5개 번호

programmers.co.kr

import sys

input = sys.stdin.readline
lottos = list(map(int, input().split()))
win_nums = list(map(int, input().split()))


def solution(lottos, win_nums):
    if sum(lottos) == 0:
        return [1, 6]
    cnt = 0
    for i in lottos:
        if i in win_nums:
            cnt += 1
    zero = lottos.count(0)
    if cnt == 0 and zero == 0:
        return [6, 6]
    return [7 - (cnt + zero), 7 - cnt]


print(solution(lottos, win_nums))

 

ν•΄μ„€

7 - 이미 λ§žμ€ κ°œμˆ˜κ°€ μ΅œμ € μˆœμœ„, 7 - 이미 λ§žμ€ 개수 + 0의 κ°œμˆ˜κ°€ μ΅œκ³ μˆœμœ„λ‹€.

μ—¬κΈ°μ„œ λ”°λ‘œ 생각할 뢀뢄은 λͺ¨λ“  μˆ˜κ°€ 0일 λ•Œμ™€, λ§žμ€ κ°œμˆ˜λ„ μ—†κ³  0의 κ°œμˆ˜λ„ 없을 λ•Œ 두 가지 κ²½μš°μ΄λ‹€.

λͺ¨λ“  μˆ˜κ°€ 0이면 1등도 ν•  수 있고, 6등도 ν•  수 μžˆλ‹€.

λ§žμ€ κ°œμˆ˜μ™€ 0의 κ°œμˆ˜κ°€ λͺ¨λ‘ μ—†μœΌλ©΄ 이 λ•ŒλŠ” 6등밖에 ν•  수 μ—†λ‹€.