πŸ—οΈ Algorithm/🟩 λ°±μ€€

🟩 [λ°±μ€€] [Python] [Silver1] 11057번_였λ₯΄λ§‰ 수

Dbswnstjd 2023. 5. 2. 16:40

문제

https://www.acmicpc.net/problem/11057

 

11057번: 였λ₯΄λ§‰ 수

였λ₯΄λ§‰ μˆ˜λŠ” 수의 μžλ¦¬κ°€ μ˜€λ¦„μ°¨μˆœμ„ μ΄λ£¨λŠ” 수λ₯Ό λ§ν•œλ‹€. μ΄λ•Œ, μΈμ ‘ν•œ μˆ˜κ°€ 같아도 μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μΉœλ‹€. 예λ₯Ό λ“€μ–΄, 2234와 3678, 11119λŠ” 였λ₯΄λ§‰ μˆ˜μ΄μ§€λ§Œ, 2232, 3676, 91111은 였λ₯΄λ§‰ μˆ˜κ°€ μ•„λ‹ˆλ‹€. 수

www.acmicpc.net

풀이

# λ°±μ€€ 11057번 문제 - 였λ₯΄λ§‰ 수
n = int(input())
dp = [1]*10
for i in range(1,n) :
    for j in range(1,10) :
        dp[j] += dp[j-1]

print(sum(dp)%10007)

DP λ¬Έμ œμ΄λ‹€. 

i 자리 수 \ j 0으둜 λλ‚˜λŠ” 숫자 1 2 3 4 5
n = 1 1 1 1 1 1 1
n = 2 1 2 3 4 5 6
n = 3 1 3 6 10 15 21

 

μœ„μ™€ 같은 ν‘œλ₯Ό ꡬ할 수 μžˆλ‹€. 이λ₯Ό μ ν™”μ‹μœΌλ‘œ λ°”κΎΈλ©΄ 

dp[j] = dp[j] + dp[j-1]

μ΄λ ‡κ²Œ λœλ‹€.