๐Ÿ—๏ธ 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) ์ด๋ผ๋Š” ์ ํ™”์‹์„ ์‰ฝ๊ฒŒ ๊ตฌํ• ์ˆ˜ ์žˆ์—ˆ๋‹ค.

์ด๋ฅผ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ์—๋Š” ์–ด๋ ค์›€์ด ์—†์œผ๋ฏ€๋กœ ๋น ๋ฅด๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€๋‹ค.