[๋ฐฑ์ค 11726๋ฒ] [๐ฅ3] 2รn ํ์ผ๋ง (python)
๋ฌธ์
2รn ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ 1ร2, 2ร1 ํ์ผ๋ก ์ฑ์ฐ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์๋ ๊ทธ๋ฆผ์ 2ร5 ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ ์ฑ์ด ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์์ด๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ n์ด ์ฃผ์ด์ง๋ค. (1 โค n โค 1,000)
์ถ๋ ฅ
์ฒซ์งธ ์ค์ 2รn ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ ์ฑ์ฐ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ 10,007๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1
2
์์ ์ถ๋ ฅ 1
2
์์ ์ ๋ ฅ 2
9
์์ ์ถ๋ ฅ 2
55
๋ฌธ์ ๋ฅผ ํ๋ฉด์ ๋งํ๋ ๋ถ๋ถ
์ธ๋ก๋ ๋ฌด์กฐ๊ฑด 2์นธ, ๊ฐ๋ก๋ n๊ฐ์ ๋ฐ๋ผ ๋ณํ๊ธฐ ๋๋ฌธ์ dp(i) = dp(i-1) + dp(i-2)๋ผ๋ ์ ํ์์ด ๋์จ๋ค.
์ฝ๋
ver(1)
n = int(input())
dp = [0]*1001
dp[1] = 1
dp[2] = 2
for i in range(3,1001):
dp[i] = dp[i-1] + dp[i-2]
print(dp[n]%10007)
๋๊ธ๋จ๊ธฐ๊ธฐ