๋ฌธ์ ์ค๋ช
๊ฐ๋ก ๊ธธ์ด๊ฐ 2์ด๊ณ ์ธ๋ก์ ๊ธธ์ด๊ฐ 1์ธ ์ง์ฌ๊ฐํ๋ชจ์์ ํ์ผ์ด ์์ต๋๋ค. ์ด ์ง์ฌ๊ฐํ ํ์ผ์ ์ด์ฉํ์ฌ ์ธ๋ก์ ๊ธธ์ด๊ฐ 2์ด๊ณ ๊ฐ๋ก์ ๊ธธ์ด๊ฐ n์ธ ๋ฐ๋ฅ์ ๊ฐ๋ ์ฑ์ฐ๋ ค๊ณ ํฉ๋๋ค. ํ์ผ์ ์ฑ์ธ ๋๋ ๋ค์๊ณผ ๊ฐ์ด 2๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
- ํ์ผ์ ๊ฐ๋ก๋ก ๋ฐฐ์น ํ๋ ๊ฒฝ์ฐ
- ํ์ผ์ ์ธ๋ก๋ก ๋ฐฐ์น ํ๋ ๊ฒฝ์ฐ
์๋ฅผ ๋ค์ด์ n์ด 7์ธ ์ง์ฌ๊ฐํ์ ๋ค์๊ณผ ๊ฐ์ด ์ฑ์ธ ์ ์์ต๋๋ค.
์ง์ฌ๊ฐํ์ ๊ฐ๋ก์ ๊ธธ์ด n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด ์ง์ฌ๊ฐํ์ ์ฑ์ฐ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- ๊ฐ๋ก์ ๊ธธ์ด n์ 60,000์ดํ์ ์์ฐ์ ์ ๋๋ค.
- ๊ฒฝ์ฐ์ ์๊ฐ ๋ง์ ์ง ์ ์์ผ๋ฏ๋ก, ๊ฒฝ์ฐ์ ์๋ฅผ 1,000,000,007์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ returnํด์ฃผ์ธ์.
์ ์ถ๋ ฅ ์
์
์ถ๋ ฅ ์ #1
๋ค์๊ณผ ๊ฐ์ด 5๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค.
ํ์ด ์ฝ๋
def solution(n):
if n == 1:
return 1
elif n == 2:
return 2
dp = [0, 1, 2]
for i in range(3, n+1):
dp.append((dp[i-1] + dp[i-2]) % 1_000_000_007)
return dp[n]
๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ ๋ฌธ์ ๊ณ , ๋ฐฑ์ค(์ค๋ฒ)์๋ ์๋ ๋ฌธ์ ๋ค.
ํผ๋ณด๋์น์ ๋์ผํ ์๋ฆฌ์ด๋ฉฐ, ํจ์จ์ฑ์ ํต๊ณผํ๊ธฐ ์ํด์๋ ๋ ๊ฐ์ง ์กฐ๊ฑด์ด ํ์ํ๋ค.
ํ๋๋ ๋ฉ๋ชจ์ด์ ์ด์ ์ผ๋ก, ์ฌ๊ท๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ด ๋์ฑ ํจ์จ์ ์ด๋ค.
๋ ๋ฒ์งธ๋ ์ต์ข ์ ์ผ๋ก ๊ฐ์ ๋๋จธ์ง๋ฅผ ๊ตฌํ๋ ๊ฒ์ด ์๋๋ผ, ๋ฐฐ์ด์ ์ฝ์ ํ ๋ ๋๋จธ์ง ์ฐ์ฐ์ ์ ์ฉํ๋ค.
์๊ฐ ์ปค์ง๋ฉด ์ปค์ง ์๋ก, ์ ์ ๋ ๋น ๋ฅธ ์๋๋ก ์ปค์ง๊ธฐ ๋๋ฌธ์ ์ค๊ฐ์ ๋๋จธ์ง ์ฐ์ฐ์ ์ ์ฉํด์ฃผ๋ฉด
์๊ฐ ์ปค์ ธ์ ์ฐ์ฐ์๋๊ฐ ์ ํ๋๋ ํ์์ ์ต์ ํ ์ ์๋ค.
'๐ ์ฝ๋ฉํ ์คํธ ๋๋น : PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฒ ์คํธ์จ๋ฒ (level3, python) (0) | 2022.09.20 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ฐ์ฅ ํฐ ์ (level2, python) (1) | 2022.09.19 |
[ํ๋ก๊ทธ๋๋จธ์ค] 2๊ฐ ์ดํ๋ก ๋ค๋ฅธ ๋นํธ (level2, python) (0) | 2022.09.19 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ (level2, python) (0) | 2022.09.19 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ฒ์ ๋งต ์ต๋จ๊ฑฐ๋ฆฌ (level2, python) (1) | 2022.09.13 |