ํฐ์คํ ๋ฆฌ ๋ทฐ
ํ๋ก๊ทธ๋๋จธ์ค: ๋ฉ๋ฆฌ ๋ฐ๊ธฐ
dirmathfl 2020. 10. 26. 22:34๋ฌธ์
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ฉ๋ฆฌ ๋ฐ๊ธฐ
ํจ์ง์ด๋ ๋ฉ๋ฆฌ ๋ฐ๊ธฐ๋ฅผ ์ฐ์ตํ๊ณ ์์ต๋๋ค. ํจ์ง์ด๋ ํ๋ฒ์ 1์นธ, ๋๋ 2์นธ์ ๋ธ ์ ์์ต๋๋ค. ์นธ์ด ์ด 4๊ฐ ์์ ๋, ํจ์ง์ด๋ (1์นธ, 1์นธ, 1์นธ, 1์นธ) (1์นธ, 2์นธ, 1์นธ) (1์นธ, 1์นธ, 2์นธ) (2์นธ, 1์นธ, 1์นธ) (2์นธ, 2
programmers.co.kr
๋ฌธ์ ํ์ด
๋ฉ๋ฆฌ ๋ฐ๊ธฐ๋ฅผ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด 1์นธ ๋๋ 2์นธ์ผ๋ก ์ ํด์ ธ ์๋ค. ์ด๋ N๊ฐ์ ์นธ์ ๋ฐ๊ณ ์ ํ๋ ๊ฒฝ์ฐ, ๊ฒฝ์ฐ์ ์๊ฐ ๋ช ๊ฐ์ธ์ง ์ฐพ๋ ๋ฌธ์ ์ด๋ค. ์ด๋ ๊ฐ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ด๋ค ๊ท์น์ ์ด๋ฃจ๋์ง ํ์ธํ๋ฉด ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ค.
- N์ด 1์ธ ๊ฒฝ์ฐ
- 1๊ฐ : 1์นธ
- N์ด 2์ธ ๊ฒฝ์ฐ
- 2๊ฐ : (1 + 1์นธ), 2์นธ
- N์ด 3์ธ ๊ฒฝ์ฐ
- 3๊ฐ : (1 + 1 + 1์นธ), (2 + 1์นธ), (1 + 2์นธ)
์ฆ N์ ๋ฐ๋ผ dp[N] = dp[N - 1] + dp[N - 2]
๋ผ๋ ์ ํ์์ ์ด๋์ด ๋ผ ์ ์๋ค. ํด๋น ์ ํ์์ ํตํด ๊ตฌํด์ง ๋ต์ด ๋ฌธ์ ์์ ์ฐพ๊ณ ์ ํ๋ ๋ต์ด๋ค.
์ฝ๋
def solution(n):
# 0, 1์ 1๋ก ์ด๊ธฐํํ์ฌ ์ ํ์์ ์ฌ์ฉ.
dp = [1, 1] + [0] * n
for i in range(2, n):
dp[i] = dp[i - 1] + dp[i - 2]
return dp[-1] % 1234567
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค: SQL - JOIN (0) | 2020.10.28 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค: ์ค ์๋ ๋ฐฉ๋ฒ (2) | 2020.10.26 |
ํ๋ก๊ทธ๋๋จธ์ค: ๋ฐฉ๋ฌธ ๊ธธ์ด (0) | 2020.10.25 |
ํ๋ก๊ทธ๋๋จธ์ค: ์ ๊ตญ์ฌ์ฌ (0) | 2020.10.25 |
ํ๋ก๊ทธ๋๋จธ์ค: ๋๋์ง (0) | 2020.10.24 |