κ°œμΈκ³΅λΆ€/Algorithm

[Level 1] 둜또의 졜고 μˆœμœ„μ™€ μ΅œμ € μˆœμœ„

πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2021. 5. 9. 15:23

 

 

 

Algorithm

-  둜또의 졜고 μˆœμœ„μ™€ μ΅œμ € μˆœμœ„ -

 


 

문제

둜또 6/45λŠ” 1λΆ€ν„° 45κΉŒμ§€ 숫자 쀑 6개λ₯Ό μ°μ–΄μ„œ λ§žνžˆλŠ” λŒ€ν‘œμ μΈ λ³΅μ›μž…λ‹ˆλ‹€.

μ•„λž˜λŠ” 둜또의 μˆœμœ„λ₯Ό μ •ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€.

 

μˆœμœ„ 당첨 λ‚΄μš©
1 6개 λ²ˆν˜Έκ°€ λͺ¨λ‘ 일치
2 5개 λ²ˆν˜Έκ°€ 일치
3 4개 λ²ˆν˜Έκ°€ 일치
4 3개 λ²ˆν˜Έκ°€ 일치
5 2개 λ²ˆν˜Έκ°€ 일치
6(낙점) κ·Έ μ™Έ

 

둜또λ₯Ό κ΅¬λ§€ν•œ λ―Όμš°λŠ” 당첨 번호 λ°œν‘œμΌμ„ ν•™μˆ˜κ³ λŒ€ν•˜κ³  μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ, 민우의 동생이 λ‘œλ˜μ— λ‚™μ„œλ₯Ό ν•˜μ—¬, 일뢀 번호λ₯Ό μ•Œμ•„λ³Ό 수 μ—†κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

당첨 번호 λ°œν‘œν›„, λ―Όμš°λŠ” μžμ‹ μ΄ κ΅¬λ§€ν–ˆλ˜ 둜또둜 당첨이 κ°€λŠ₯ν–ˆλ˜ 졜고 μˆœμœ„μ™€ μ΅œμ € μˆœμœ„λ₯Ό μ•Œμ•„λ³΄κ³  μ‹Άμ–΄ μ‘ŒμŠ΅λ‹ˆλ‹€.

μ•Œμ•„λ³Ό 수 μ—†λŠ” 번호λ₯Ό 0으둜 ν‘œκΈ°ν•˜κΈ°λ‘œν•˜κ³ , λ―Όμš°κ°€ κ΅¬λ§€ν•œ 둜또 λ²ˆν˜Έκ°€ 6κ°œκ°€ 44, 1, 0, 0, 31, 25라고 κ°€μ •ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

당첨 λ²ˆν˜Έκ°€ 6κ°œκ°€ 31, 10, 45, 1, 6, 19라면 당첨 κ°€λŠ₯ν•œ 졜고 μˆœμœ„μ™€ μ΅œμ €μˆœμœ„λ₯Ό μ˜ˆμΈ‘ν•  수 μžˆλŠ” ν•¨μˆ˜λ₯Ό λ§Œλ“€μ–΄ μ£Όμ„Έμš”.

 

μž…μΆœλ ₯ μ˜ˆμ‹œ

lottos win_nums result
[44, 1, 0, 0, 31, 25] [31, 10, 45, 1, 6, 19] [3, 5]
[0, 0, 0, 0, 0, 0] [38, 19, 20, 40, 15, 25] [1, 6]

 

문제 ν’€κΈ°

 

일단 λ¨Όμ € 문제λ₯Ό ν’€κΈ° 전에 λ§žμ€ κ°œμˆ˜μ— λ”°λΌμ„œ μˆœμœ„κ°€ μ •ν•΄μ Έ 있기 λ•Œλ¬Έμ— λ°°μ—΄μ•ˆμ— μ—˜λ¦¬λ¨ΌνŠΈλ₯Ό λ°°μ—΄λ‘œ μ£Όμ–΄μ„œ [λ§žμ€κ°œμˆ˜, μˆœμœ„]둜 λ“€μ–΄κ°ˆ 수 μžˆλ„λ‘ 값을 λ„£μ–΄μ£Όμ—ˆλ‹€.

 

그리고 λ‚˜μ„œ 일단 동생이 λ‚™μ„œν•œ 숫자의 κ°œμˆ˜μ™€ 동생이 λ‚™μ„œν•œ 숫자λ₯Ό μ œμ™Έν•œ λ‘œλ˜κ²°κ³Όμ™€ μΌμΉ˜ν•œ 숫자의 개수λ₯Ό νŒŒμ•…ν•΄ μ£Όμ—ˆλ‹€.

 

κ·ΈλŸ°λ‹€μŒμ— 결과값을 λ¦¬ν„΄ν• λ•Œ 0λ²ˆμ§Έμ—μ„œλŠ” λ‚™μ„œν•œ μˆ«μžκ°€ λͺ¨λ‘ μΌμΉ˜ν–ˆμ„λ•Œμ˜ 값은 correctLenκ³Ό zeroLen을 λ”ν•΄μ„œ μˆœμœ„κ°’μ„ μ–»μ–΄λ‚΄κ³ , 1λ²ˆμ§Έμ—μ„œλŠ” correctLen의 κ°’λ§Œ νŒŒμ•…ν•΄μ„œ 값을 λ¦¬ν„΄ν•΄μ£Όμ—ˆλ‹€.

 

 

λ°˜μ‘ν˜•