Search

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

ํ”Œ๋žซํผ
BOJ
๋ถ„๋ฅ˜
์‰ฝ๊ฒŒ ์„ฑ๊ณตํ•œ ๋ฌธ์ œ
์•Œ๊ณ ๋ฆฌ์ฆ˜
DP
์ค‘์š”๋„
โญ๏ธ
ํ‹ฐ์–ด
Silver
๋‹ค์‹œ ํ’€์–ด๋„ ํ‹€๋ฆด ๊ฒƒ ๊ฐ™์€ ๋ฌธ์ œ
Created At
2022/02/24 10:04
Updated At
2024/05/25 04:42
Writer
์ƒํƒœ
์™„๋ฃŒ

Problem

๋ฌธ์ œ

๋ฌธ์ œ

์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์‚ผ๊ฐํ˜•์ด ๋‚˜์„  ๋ชจ์–‘์œผ๋กœ ๋†“์—ฌ์ ธ ์žˆ๋‹ค. ์ฒซ ์‚ผ๊ฐํ˜•์€ ์ •์‚ผ๊ฐํ˜•์œผ๋กœ ๋ณ€์˜ ๊ธธ์ด๋Š” 1์ด๋‹ค. ๊ทธ ๋‹ค์Œ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์œผ๋กœ ์ •์‚ผ๊ฐํ˜•์„ ๊ณ„์† ์ถ”๊ฐ€ํ•œ๋‹ค. ๋‚˜์„ ์—์„œ ๊ฐ€์žฅ ๊ธด ๋ณ€์˜ ๊ธธ์ด๋ฅผ k๋ผ ํ–ˆ์„ ๋•Œ, ๊ทธ ๋ณ€์— ๊ธธ์ด๊ฐ€ k์ธ ์ •์‚ผ๊ฐํ˜•์„ ์ถ”๊ฐ€ํ•œ๋‹ค.
ํŒŒ๋„๋ฐ˜ ์ˆ˜์—ด P(N)์€ ๋‚˜์„ ์— ์žˆ๋Š” ์ •์‚ผ๊ฐํ˜•์˜ ๋ณ€์˜ ๊ธธ์ด์ด๋‹ค. P(1)๋ถ€ํ„ฐ P(10)๊นŒ์ง€ ์ฒซ 10๊ฐœ ์ˆซ์ž๋Š” 1, 1, 1, 2, 2, 3, 4, 5, 7, 9์ด๋‹ค.
N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, P(N)์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ํ•œ ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , N์ด ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค N โ‰ค 100)

์ถœ๋ ฅ

๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค P(N)์„ ์ถœ๋ ฅํ•œ๋‹ค.

์˜ˆ์ œ ์ž…๋ ฅ 1

2 6 12
Plain Text
๋ณต์‚ฌ

์˜ˆ์ œ ์ถœ๋ ฅ 1

3 16
Plain Text
๋ณต์‚ฌ

Code

ย #1

Idea

์ˆ˜์—ด ๊ทœ์น™์„ฑ์„ ์ฐพ์•„๋ณด๋ฉด ์‰ฝ๊ฒŒ ํ’€๋ฆฌ๋Š” ๋ฌธ์ œ
1 1 1 2 2 3 4 5 7 9
๊ทธ๋ฆผ์„ ๋ณด๊ณ  ๋ถ„์„ํ•ด๋ณด๋ฉด a6=a1+a5a_6 = a_1 + a_5 ๊ฐ€ ์„ฑ๋ฆฝํ•œ๋‹ค.
a5a_5 ๊นŒ์ง€๋Š” ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ์„ค์ •์„ ํ•˜๊ณ  dp ๋กœ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ ค์ค€๋‹ค.

ย Code

import sys read = sys.stdin.readline t = int(read()) dp = [0] * (101) dp[0] = 0 dp[1] = 1 dp[2] = 1 dp[3] = 1 dp[4] = 2 dp[5] = 2 for _ in range(t): n = int(read()) for i in range(6, n + 1): dp[i] = dp[i - 5] + dp[i - 1] print(dp[n])
Python
๋ณต์‚ฌ