πŸ—οΈμ†Œν”„νŠΈμ›¨μ–΄/πŸ’»python

Python μ•Œκ³ λ¦¬μ¦˜ - κ΅¬ν˜„ 2탄:μ‹œκ° μ•Œκ³ λ¦¬μ¦˜

Dev.Op 2022. 4. 20. 19:39
λ°˜μ‘ν˜•
κ΅¬ν˜„ - μ‹œκ° μ•Œκ³ λ¦¬μ¦˜

 

μš°μ„  ν•˜λ£¨λŠ” 24μ‹œκ°„, 초둜 λ‚˜λˆ„λ©΄ 60 * 60 * 24λ‘œμ„œ 86,400 개의 μš”μ†Œλ‘œ μͺΌκ°€ 수 μžˆλ‹€.

 

μ •μˆ˜ N을 μž…λ ₯ λ°›λŠ”λ‹€.

00μ‹œ 00λΆ„ 00μ΄ˆλΆ€ν„° ~ ~μ‹œ 59λΆ„ 59μ΄ˆκΉŒμ§€ λͺ¨λ“  μš”μ†Œ μ•ˆμ—μ„œ 특수 수인 N이 ν¬ν•¨λ˜μ–΄ μžˆλŠ” λͺ¨λ“  경우의 수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ κ΅¬ν˜„ν•΄λ³΄μž.

 

예λ₯Ό λ“€μ–΄, 7을 μž…λ ₯λ°›λŠ”λ‹€.

 

μ‹œκ°„μ— 올 수 μžˆμ§€λ§Œ, λΆ„μ—μ„œλŠ” _ _ μ—μ„œ μ•žμžλ¦¬μ—λŠ” 0λΆ€ν„° 6κΉŒμ§€λ§Œ 올 수 μžˆμœΌλ―€λ‘œ, λ‘λ²ˆμ§Έ μžλ¦¬μ—λ§Œ 올 수 μžˆλ‹€.

그리고 μ΄ˆμ—μ„œλ„ _ _ μ΄λ―€λ‘œ λ§ˆμ°¬κ°€μ§€μ΄λ‹€.

 

 

....

01 μ‹œ 17 λΆ„ 47초

...

20 μ‹œ 58 λΆ„ 07초

...

 

 

μ΄λŸ°μ‹μœΌλ‘œ μ…€ 수 μžˆλŠ” μ‹œκ°μ΄ 있으며, κ·Έ μ™Έμ—λŠ” μ…€ 수 μ—†λŠ” μ‹œκ°μ΄λ‹€.

 

 

μž…λ ₯ 쑰건 :

첫째 쀄에 μ •μˆ˜ n을 μž…λ ₯ν•œλ‹€

( 0 <= n <= 23)

 

좜λ ₯ 쑰건 :

00μ‹œ 00λΆ„ 00초 ~ nμ‹œ 59λΆ„ 59μ΄ˆκΉŒμ§€μ—μ„œ 수 3 이 ν•˜λ‚˜λΌλ„ ν¬ν•¨λ˜μ–΄ μžˆλŠ” λͺ¨λ“  경우의 수λ₯Ό 좜λ ₯ν•œλ‹€.

 

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

5

 

좜λ ₯ μ˜ˆμ‹œ :

11475

 

 

μ½”λ“œ : 

 

# n μž…λ ₯λ°›κΈ°
hour = int(input())
find_num = '3'
count = 0

for i in range(hour+1): # n이 'μ‹œ'둜 μ˜€λŠ” μ‹œκ°κΉŒμ§€ ꡬ해야함
    for j in range(60): # 'λΆ„'
        for k in range(60): # '초' μ—¬κΈ°κΉŒμ§€ κ·Έλƒ₯ 돌리면 nμ‹œμ—μ„œμ˜ λͺ¨λ“  경우의 수
            # μš”μ†Œμ— 'n' 이 ν¬ν•¨μ‹œ 카운트 증가
            if find_num in (str(i) + str(j) + str(k)):
                count += 1
                
print(count)

 

μ™„μ „ 탐색 λ¬Έμ œλ‘œμ„œ, λͺ¨λ“  경우의 μˆ˜λŠ” 86,400 가지이닀. 

3쀑 λ°˜λ³΅λ¬Έμ„ μ΄μš©ν•˜μ—¬, λΉ„νš¨μœ¨μ μœΌλ‘œ 보일 μˆ˜λŠ” μžˆμ–΄λ„ λͺ¨λ“  경우의 수λ₯Ό κ²€μ‚¬ν•΄λ³΄λŠ” λ°©λ²•μœΌλ‘œ μ ‘κ·Όν–ˆλ‹€.

 

그리고 수λ₯Ό 020512 처럼 2μ‹œ 5λΆ„ 12초 μ΄λ ‡κ²Œ λ¬Έμžμ—΄λ‘œ λ§Œλ“€μ–΄μ„œ 검사λ₯Ό ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ μ ‘κ·Όν–ˆλ‹€.

 

λ¬Έμžμ—΄μ„ ν•©μ³μ£Όμž

 

 

 

 

 

λ°˜μ‘ν˜•