Tags
- DP
- ๊น์ด ์ฐ์ ํ์
- Python
- ๋ฌธ์์ด
- ์ํ
- Study
- ๋ฐฑํธ๋ํน
- SpringBoot
- CodingTest
- LV2
- ๊ตฌํ
- dfs
- ๊ทธ๋ํ ํ์
- Dynamic Programming
- ์ ์๋ก
- sort
- ๊ต์ฌ
- Java
- greedy
- ๊ทธ๋ํ ์ด๋ก
- ์ ๋ ฌ
- stack
- Brute Force Algorithm
- ์๋ฎฌ๋ ์ด์
- BOJ
- BFS
- ๋๋น ์ฐ์ ํ์
- ์๋ฃ๊ตฌ์กฐ
- queue
- PGM
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_11727 : 2×n ํ์ผ๋ง 2 ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- 1x2, 2x1, 2x2 ํ์ผ์ ์ฑ์ฐ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
- ์ ํ์์ dp[n] = dp[n-1] + dp[n-2]*2 ์ด๋ค.
๐ธ ์ฝ๋ ๐ธ
arr = [1,1]
for _ in range(int(input())-1):
arr.append((arr[-1]+arr[-2]*2)%10007)
print(arr[-1])
๐ธ ์ฝ๋ ํด์ ๐ธ
- ๋ฆฌ์คํธ์ ์ด๊ธฐ๊ฐ์ 1,1๋ก ๋๊ณ ์ ํ์์ ์ ์ฉํ๋ค.
- ๋ฌธ์ ์กฐ๊ฑด์ ๋ฐ๋ผ 10007์ ๋๋จธ์ง๋ก ๊ณ์ฐํ๋ค.
๐ธ end ๐ธ
- 2xnํ์ผ 1์ ํ๊ณ ๋ฐ๋ก 2๋ฅผ ํ์ด๋ณด๋ ๊ฑด๋ฐ ์ ํ์์ด ์กฐ๊ธ ๋ฌ๋ผ์ง ๊ฒ ๋ง๊ณ ๋ ๋น์ทํ ๊ฒ ๊ฐ๋ค.
- ์ด๋ฒ์๋ dp๋ฌธ์ ๋ฅผ ๊ทธ๋ฅ ๊ฒฝ์ฐ์ ์๊ฐ ๋์ด๋๋ ๊ท์น์ ์ฐพ์ ์ฝ๋๋ก ๋ณํํ๋ค.
- ์๋ฆฌ๋ฅผ ์ดํดํ๋ ๋ฐฉ์์ผ๋ก dp๋ฅผ ํ์ด์ผํ ๊ฒ ๊ฐ์์ ์ด๋ฒ์๋ ํ์ด ํฌ์คํ ์ ์ฐพ์๋ณด์๋ค.
- ๋ง์ง๋ง ๋จ์์ ๊ณ์ฐํ๋ ๊ธ๋ฐฉ ์ดํด๋๋ ๋ฐฉ์์ด์๋ค.
- ๋ง์ง๋ง ์นธ์ 1x2๊ฐ ๋ฐฐ์น๋๋ค๋ฉด >> (n-1) ๋ฒ์งธ ์นธ๊น์ง์ ๊ฒฝ์ฐ์ ์ : f(n-1)
- ๋ง์ง๋ง ์นธ์ 2x1 ํน์ 2x2๊ฐ ๋ฐฐ์น๋๋ค๋ฉด >> (n-2) ๋ฒ์งธ ์นธ๊น์ง์ ๊ฒฝ์ฐ์ ์x2 : f(n-2)*2
728x90
'CodingTest > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_4101 : ํฌ๋? (0) | 2022.09.09 |
---|---|
BOJ_17626 : Four Squares (0) | 2022.09.07 |
BOJ_11726 : 2รn ํ์ผ๋ง (0) | 2022.09.05 |
BOJ_11659 : ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 4 (0) | 2022.09.05 |
BOJ_9461 : ํ๋๋ฐ ์์ด (0) | 2022.09.03 |