๋ฌธ์
https://www.acmicpc.net/problem/1904
๋ด ๋ฌธ์ ํ์ด
n = int(input())
if n == 1: print(1)
elif n == 2: print(2)
else:
memory = [1, 2]
for i in range(2, n):
memory.append((memory[i-2] + memory[i-1]) % 15746)
print(memory[n-1])
๐DP ๋ฌธ์ ๋ก, ์ ํ์๊ณผ ๋ฉ๋ชจ์ด์ ์ด์ ๋ฐฉ์์ ์ฌ์ฉํ์ฌ ํธ๋๊ฒ ํฌ์ธํธ!
[์ ํ์]
- n == 1 : 1
- n == 2 : 00, 11
- n == 3 : 001, 100, 111
- n == 4 : 0000, 0011, 1001, 1111
- n == 5 : 00001, 00111, 10011, 11001, 11100, 00100, 11111
=> n์ ๊ฐ์ = (n-1)์ ๊ฐ์ + (n-2)์ ๊ฐ์
[ํ์ด ์ค๋ช ]
- n์ด 1 ํน์ 2์ ๊ฒฝ์ฐ๋ ๋ฐ๋ณต ์ฐ์ฐ์ด ๋ถ๊ฐํ๋ฏ๋ก ๋ฐ๋ก ๋นผ์ ์ถ๋ ฅํ๋ค.
- ๊ทธ ์ธ์ ๊ฒฝ์ฐ๋ ๋ชจ๋ for๋ฌธ์ ์ฌ์ฉํ์ฌ memory ๋ฆฌ์คํธ์ ๊ฐ์ ๋์ ํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ๊ตฌํด์ฃผ์๋ค.
๐ก ํผ๋๋ฐฑ
- ๋น๊ต์ ํํ ์ ํ์ ๊ตฌํ๋ ๋ฌธ์ ๋ผ ๊ธ๋ฐฉ ํ ์ ์์๋ค.
'4๏ธโฃ Python > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python Algorithm] ํ๋ฒํ ๋ฐฐ๋ญ BOJ #12865 (2) | 2021.11.25 |
---|---|
[Python Algorithm] ์ซ์์ ํํ Programmers(Lv.2) (0) | 2021.11.22 |
[Python Algorithm] ํ๋๋ฐ ์์ด BOJ #9461 (0) | 2021.11.16 |
[Python Algorithm] ์ ๋๋ ํจ์ ์คํ BOJ #9184 (0) | 2021.11.16 |
[Python Algorithm] ํผ๋ณด๋์น ํจ์ BOJ #1003 (0) | 2021.11.16 |
๋๊ธ