| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ์๋ฐ์คํฌ๋ฆฝํธ
- ํ์ด์ฌ
- DFS
- ๋ฐฑ์ค
- SW์ญ๋ํ ์คํธ
- SSAFY
- ํ๋ก๊ทธ๋๋จธ์ค
- ์๋ฃ๊ตฌ์กฐ
- Blind
- DP
- ํํ
- BFS
- ์์ ํ์
- SWEA
- ๋ค์ด๋๋ฏนํ๋ก๊ทธ๋๋ฐ
- ์ฝํ
- javascript
- kakao
- ์๊ณ ๋ฆฌ์ฆ
- boj
- Backjoon
- algorithm
- ์นด์นด์ค
- ์คํ
- ์ผ์ฑ
- ์ฝ๋ฉํ ์คํธ
- ๊ทธ๋ํ
- Python
- sort
- ์ธํผ
- Today
- Total
๋ง์ํ
[python] ๋ฐฑ์ค - 1309. ๋๋ฌผ์ ๋ณธ๋ฌธ
๐ค๋ฌธ์ ํด๊ฒฐ
1. S1 | DP
2. ์ฌ์๊ฐ ์๋ ๊ฒฝ์ฐ, ์ฌ์๊ฐ ์ผ์ชฝ์ ์๋ ๊ฒฝ์ฐ, ์ฌ์๊ฐ ์ค๋ฅธ์ชฝ์ ์๋ ๊ฒฝ์ฐ์ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ ๋ค.
3. i๋ฒ์งธ์์ i-1๋ฒ์งธ์ ์ฌ์์ ์ํ์ ๋ฐ๋ผ i๋ฒ์งธ์ ๊ฒฝ์ฐ์ ์๊ฐ ๊ฒฐ์ ๋๋ค.
(1) i๋ฒ์งธ์ ์ฌ์๊ฐ ์๋ ๊ฒฝ์ฐ๋ i-1๋ฒ์งธ์ ์ฌ์๊ฐ ์ผ์ชฝ, ์ค๋ฅธ์ชฝ ๊ทธ๋ฆฌ๊ณ ์์ด๋ ๋๋ค.
(2) i๋ฒ์งธ์ ์ฌ์๊ฐ ์ผ์ชฝ์ ์๋ ๊ฒฝ์ฐ๋ i-1๋ฒ์งธ์ ์ฌ์๊ฐ ์ค๋ฅธ์ชฝ์ ์๋ ๊ฒฝ์ฐ์ ์๋ ๊ฒฝ์ฐ๋ง ๊ฐ๋ฅํ๋ค.
(i-1๋ฒ์งธ์ ์ผ์ชฝ์ ์์ผ๋ฉด i๋ฒ์งธ์์๋ ์ผ์ชฝ์ ์์ ์ ์๋ค)
(3) ์ค๋ฅธ์ชฝ๋ ๋ง์ฐฌ๊ฐ์ง
4. ๊ฒฝ์ฐ์ ์๋ฅผ ์ ์ฐจ ๋ํด๋๊ฐ๋ฉด์ ๋ง์ง๋ง ๊ฒฝ์ฐ์ ์๋ฅผ ๋ค ๋ํด์ค๋ค.
๐จ ๋ง์ง๋ง์๋ง 9901๋ก ๋๋๋ ค๊ณ ํ๋ฉด ๋ฉ๋ชจ๋ฆฌ์ด๊ณผ๊ฐ ๋ฐ์ํ๋ค. ๊ฐ์ ์์ ๋ ๋ถํฐ ๋๋ ์ฃผ๋ฉด์ ํ์.
๐ป์์ค ์ฝ๋
if __name__ == "__main__":
N = int(input())
dp_no_lion = [0]*(N+1) # ์ฌ์๊ฐ ์์ ๋
dp_left_lion = [0]*(N+1) # ์ผ์ชฝ์ ์ฌ์๊ฐ ์์ ๋
dp_right_lion = [0]*(N+1) # ์ค๋ฅธ์ชฝ์ ์ฌ์๊ฐ ์์ ๋
dp_no_lion[0] = 1
for i in range(1, N+1):
dp_no_lion[i] = (dp_no_lion[i-1] + dp_left_lion[i-1] + dp_right_lion[i-1]) % 9901
dp_left_lion[i] = (dp_no_lion[i-1] + dp_right_lion[i-1]) % 9901
dp_right_lion[i] = (dp_no_lion[i-1] + dp_left_lion[i-1]) % 9901
answer = dp_no_lion[N] + dp_left_lion[N] + dp_right_lion[N]
print(answer % 9901)
๐๋ฌธ์ ํ์ธ
์ถ์ฒ: BACKJOON ONLINE JUDGE
๋งํฌ: https://www.acmicpc.net/problem/1309
1309๋ฒ: ๋๋ฌผ์
์ฒซ์งธ ์ค์ ์ฐ๋ฆฌ์ ํฌ๊ธฐ N(1≤N≤100,000)์ด ์ฃผ์ด์ง๋ค.
www.acmicpc.net
๋ฌธ์
์ด๋ค ๋๋ฌผ์์ ๊ฐ๋ก๋ก ๋์นธ ์ธ๋ก๋ก N์นธ์ธ ์๋์ ๊ฐ์ ์ฐ๋ฆฌ๊ฐ ์๋ค.

์ด ๋๋ฌผ์์๋ ์ฌ์๋ค์ด ์ด๊ณ ์๋๋ฐ ์ฌ์๋ค์ ์ฐ๋ฆฌ์ ๊ฐ๋ ๋, ๊ฐ๋ก๋ก๋ ์ธ๋ก๋ก๋ ๋ถ์ด ์๊ฒ ๋ฐฐ์นํ ์๋ ์๋ค. ์ด ๋๋ฌผ์ ์กฐ๋ จ์ฌ๋ ์ฌ์๋ค์ ๋ฐฐ์น ๋ฌธ์ ๋๋ฌธ์ ๊ณจ๋จธ๋ฆฌ๋ฅผ ์๊ณ ์๋ค.
๋๋ฌผ์ ์กฐ๋ จ์ฌ์ ๋จธ๋ฆฌ๊ฐ ์ํ์ง ์๋๋ก ์ฐ๋ฆฌ๊ฐ 2*N ๋ฐฐ์ด์ ์ฌ์๋ฅผ ๋ฐฐ์นํ๋ ๊ฒฝ์ฐ์ ์๊ฐ ๋ช ๊ฐ์ง์ธ์ง๋ฅผ ์์๋ด๋ ํ๋ก๊ทธ๋จ์ ์์ฑํด ์ฃผ๋๋ก ํ์. ์ฌ์๋ฅผ ํ ๋ง๋ฆฌ๋ ๋ฐฐ์นํ์ง ์๋ ๊ฒฝ์ฐ๋ ํ๋์ ๊ฒฝ์ฐ์ ์๋ก ์น๋ค๊ณ ๊ฐ์ ํ๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ฐ๋ฆฌ์ ํฌ๊ธฐ N(1≤N≤100,000)์ด ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ฌ์๋ฅผ ๋ฐฐ์นํ๋ ๊ฒฝ์ฐ์ ์๋ฅผ 9901๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ์ฌ๋ผ.
'Algorithm Problem > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [python] ํ๋ก๊ทธ๋๋จธ์ค - ๊ฒฝ์ฃผ๋ก ๊ฑด์ค (2020 ์นด์นด์ค ์ธํด์ญ) (0) | 2020.08.30 |
|---|---|
| [python] ํ๋ก๊ทธ๋๋จธ์ค - ์๋ฌผ์ ์ ์ด์ (2020 KAKAO BLIND RECRUITMENT) (2) | 2020.08.29 |
| [python] ๋ฐฑ์ค - 1992. ์ฟผ๋ํธ๋ฆฌ (0) | 2020.08.27 |
| [python] ๋ฐฑ์ค - 7569. ํ ๋งํ (0) | 2020.08.26 |
| [python] ๋ฐฑ์ค - 2251. ๋ฌผํต (0) | 2020.08.25 |