์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

๋ฐฑ์ค€ ์‚ฌ์ดํŠธ ๋งํฌ

๋ฌธ์ œ

0๊ณผ 1๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ์ˆ˜๋ฅผ ์ด์ง„์ˆ˜๋ผ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ด์ง„์ˆ˜ ์ค‘ ํŠน๋ณ„ํ•œ ์„ฑ์งˆ์„ ๊ฐ–๋Š” ๊ฒƒ๋“ค์ด ์žˆ๋Š”๋ฐ, ์ด๋“ค์„ ์ด์นœ์ˆ˜(pinary number)๋ผ ํ•œ๋‹ค. ์ด์นœ์ˆ˜๋Š” ๋‹ค์Œ์˜ ์„ฑ์งˆ์„ ๋งŒ์กฑํ•œ๋‹ค.

  1. ์ด์นœ์ˆ˜๋Š” 0์œผ๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š๋Š”๋‹ค.
  2. ์ด์นœ์ˆ˜์—์„œ๋Š” 1์ด ๋‘ ๋ฒˆ ์—ฐ์†์œผ๋กœ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š”๋‹ค. ์ฆ‰, 11์„ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด๋กœ ๊ฐ–์ง€ ์•Š๋Š”๋‹ค.

์˜ˆ๋ฅผ ๋“ค๋ฉด 1, 10, 100, 101, 1000, 1001 ๋“ฑ์ด ์ด์นœ์ˆ˜๊ฐ€ ๋œ๋‹ค. ํ•˜์ง€๋งŒ 0010101์ด๋‚˜ 101101์€ ๊ฐ๊ฐ 1, 2๋ฒˆ ๊ทœ์น™์— ์œ„๋ฐฐ๋˜๋ฏ€๋กœ ์ด์นœ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋‹ค.

N(1 โ‰ค N โ‰ค 90)์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, N์ž๋ฆฌ ์ด์นœ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— N์ž๋ฆฌ ์ด์นœ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

์˜ˆ์ œ ์ž…๋ ฅ 1

3

์˜ˆ์ œ ์ถœ๋ ฅ 1

2

๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ ๋ง‰ํ˜”๋˜ ๋ถ€๋ถ„

์ ํ™”์‹์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. dp(n) = dp(n-2) + dp(n-1)

์ฝ”๋“œ

ver(1) - dp์‚ฌ์šฉ
n = int(input())

dp = [0]*(n + 1)
dp[1] = 1
for i in range(2,n+1):
    dp[i] = dp[i-1] + dp[i-2]
print(dp[n])

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ