๐๏ธ Algorithm/๐ฉ ๋ฐฑ์ค
[๋ฐฑ์ค] [Python] 9095๋ฒ_1,2,3 ๋ํ๊ธฐ_๋์ ํ๋ก๊ทธ๋๋ฐ
Dbswnstjd
2022. 9. 17. 21:23
๋ฌธ์
https://www.acmicpc.net/problem/9095
9095๋ฒ: 1, 2, 3 ๋ํ๊ธฐ
๊ฐ ํ ์คํธ ์ผ์ด์ค๋ง๋ค, n์ 1, 2, 3์ ํฉ์ผ๋ก ๋ํ๋ด๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
www.acmicpc.net
ํ์ด
#๋ฐฑ์ค 9095๋ฒ ๋ฌธ์ - 1,2,3 ๋ํ๊ธฐ
d = [0]*11
d[1] = 1
d[2] = 2
d[3] = 4
for i in range(4,11):
d[i] = d[i-1] + d[i-2] + d[i-3]
n = int(input())
for _ in range(n):
m = int(input())
print(d[m])
์ด๋ฒ ๋ฌธ์ ๋ ๋์ ํ๋ก๊ทธ๋๋ฐ์ ์ฌ์ฉํ์๋ค.
BFS๋ก ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ๋ ์์ง๋ง ์ฝ๊ฒ ์ ํ์์ ๊ตฌํ ์ ์์ด์ ๋์ ํ๋ก๊ทธ๋๋ฐ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๊ฒ ๋์๋ค.
๋จผ์
d[1] = 1
d[2] = 2
d[3] = 4
d[4] = 7
d[5] = 13
.
.
.
๋ผ๋ ๊ท์น์ ์ฐพ๊ฒ ๋์ด์ d[i] = d[i-1] + d[i-2] + d[i-3] (i>3) ์ด๋ผ๋ ์ ํ์์ ์ฝ๊ฒ ๊ตฌํ ์ ์์๋ค.
์ด๋ฅผ ์ฝ๋๋ก ๊ตฌํํ๋๋ฐ์๋ ์ด๋ ค์์ด ์์ผ๋ฏ๋ก ๋น ๋ฅด๊ฒ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์๋ค.