๋ฌธ์
https://www.acmicpc.net/problem/2193
2193๋ฒ: ์ด์น์
0๊ณผ 1๋ก๋ง ์ด๋ฃจ์ด์ง ์๋ฅผ ์ด์ง์๋ผ ํ๋ค. ์ด๋ฌํ ์ด์ง์ ์ค ํน๋ณํ ์ฑ์ง์ ๊ฐ๋ ๊ฒ๋ค์ด ์๋๋ฐ, ์ด๋ค์ ์ด์น์(pinary number)๋ผ ํ๋ค. ์ด์น์๋ ๋ค์์ ์ฑ์ง์ ๋ง์กฑํ๋ค. ์ด์น์๋ 0์ผ๋ก ์์ํ์ง ์
www.acmicpc.net
๋ด ๋ฌธ์ ํ์ด
n = int(input())
if n == 1: print(1)
elif n == 2: print(1)
else:
result = [1, 1] # n์ด 0์ผ ๋, 1์ผ ๋๋ฅผ ๋ฏธ๋ฆฌ ์ ์ฅ
for i in range(2, n):
result.append(result[i-2] + result[i-1])
print(result[-1])
๐ DP ๋ฌธ์ ๋ก, ์ ํ์ ์ฌ์ฉํด์ฃผ๋ฉด ๋จ !
p(n) = p(n-2) + p(n-1) ์ ์ ํ์์ ๊ฐ์ง๊ณ ์์ผ๋ฏ๋ก, ์ด์ ๋ง๊ฒ ํ์ด์ฃผ์๋ค.
(์ง์ ๊ตฌํด๋ณด๋ฉด N์ด 6์ผ ๋ 8๊ฐ, N์ด 7์ผ ๋ 13๊ฐ, N์ด 8์ผ ๋ 21๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ๊ฐ์ง๋ค.)
๐ก ํผ๋๋ฐฑ
- ์ ํ์ ์ธ ์ ํ์ ๋ฌธ์ ์๊ณ , ์ฝ๊ฒ ์ ์ถํด์ ํ ์ ์์๋ค.
'4๏ธโฃ Python > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python Algorithm] ๋จ์ด ์ ๋ ฌ BOJ #1181 (0) | 2022.02.02 |
---|---|
[Python Algorithm] 2รn ํ์ผ๋ง 2 BOJ #11727 (0) | 2022.02.02 |
[Python Algorithm] ํฌ๋์ฃผ ์์ BOJ #2156 (0) | 2022.01.31 |
[Python Algorithm] ์ฐ์ํฉ BOJ #1912 (0) | 2022.01.31 |
[Python Algorithm] ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ์์ด BOJ #11053 (0) | 2022.01.30 |
๋๊ธ