[๋ฐฑ์ค€-9461] ํŒŒ๋„๋ฐ˜ ์ˆ˜์—ด / Python

๐Ÿ“š Problem Solving/Baekjoon

 

9461๋ฒˆ: ํŒŒ๋„๋ฐ˜ ์ˆ˜์—ด

์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์‚ผ๊ฐํ˜•์ด ๋‚˜์„  ๋ชจ์–‘์œผ๋กœ ๋†“์—ฌ์ ธ ์žˆ๋‹ค. ์ฒซ ์‚ผ๊ฐํ˜•์€ ์ •์‚ผ๊ฐํ˜•์œผ๋กœ ๋ณ€์˜ ๊ธธ์ด๋Š” 1์ด๋‹ค. ๊ทธ ๋‹ค์Œ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์œผ๋กœ ์ •์‚ผ๊ฐํ˜•์„ ๊ณ„์† ์ถ”๊ฐ€ํ•œ๋‹ค. ๋‚˜์„ ์—์„œ ๊ฐ€์žฅ ๊ธด ๋ณ€์˜

www.acmicpc.net

for _ in range(int(input())):
    n = int(input())
    d = [0] * 101
    d[1], d[2], d[3], d[4] = 1, 1, 1, 2
    for i in range(5, n + 1):
        d[i] = d[i - 2] + d[i - 3]
    print(d[n])

 

ํ•ด์„ค

๊ทœ์น™๋งŒ ์•Œ๋ฉด ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” dp๋ฌธ์ œ์˜€๋‹ค.

2์นธ๊ณผ 3์นธ ์ด์ „์˜ ๊ฐ’์„ ํ•ฉํ•œ ๊ฐ’์ด ํ˜„์žฌ ๊ฐ’์ด ๋œ๋‹ค.