1 ๋ถ„ ์†Œ์š”

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

๋ฌธ์ œ

์ƒ๊ทผ์ด๋Š” ๊ธธ์„ ๊ฑท๋‹ค๊ฐ€ ์‹ ๊ธฐํ•œ ๊ธฐ๊ณ„๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ๊ธฐ๊ณ„๋Š” ๋งค์šฐ ๋งค์šฐ ํฐ ํ™”๋ฉด๊ณผ ๋ฒ„ํŠผ ํ•˜๋‚˜๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

๊ธฐ๊ณ„๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์„ ๋•Œ, ํ™”๋ฉด์—๋Š” A๋งŒ ํ‘œ์‹œ๋˜์–ด์ ธ ์žˆ์—ˆ๋‹ค. ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋‹ˆ ๊ธ€์ž๊ฐ€ B๋กœ ๋ณ€ํ–ˆ๋‹ค. ํ•œ ๋ฒˆ ๋” ๋ˆ„๋ฅด๋‹ˆ BA๋กœ ๋ฐ”๋€Œ๊ณ , ๊ทธ ๋‹ค์Œ์—๋Š” BAB, ๊ทธ๋ฆฌ๊ณ  BABBA๋กœ ๋ฐ”๋€Œ์—ˆ๋‹ค. ์ƒ๊ทผ์ด๋Š” ํ™”๋ฉด์˜ ๋ชจ๋“  B๋Š” BA๋กœ ๋ฐ”๋€Œ๊ณ , A๋Š” B๋กœ ๋ฐ”๋€๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค.

๋ฒ„ํŠผ์„ K๋ฒˆ ๋ˆŒ๋ €์„ ๋•Œ, ํ™”๋ฉด์— A์™€ B์˜ ๊ฐœ์ˆ˜๋Š” ๋ช‡ ๊ฐœ๊ฐ€ ๋ ๊นŒ?

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— K (1 โ‰ค K โ‰ค 45)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— A์˜ ๊ฐœ์ˆ˜์™€ B์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด ์ถœ๋ ฅํ•œ๋‹ค.

์˜ˆ์ œ ์ž…๋ ฅ 1

1

์˜ˆ์ œ ์ถœ๋ ฅ 1

0 1

์˜ˆ์ œ ์ž…๋ ฅ 2

4

์˜ˆ์ œ ์ถœ๋ ฅ 2

2 3

์˜ˆ์ œ ์ž…๋ ฅ 3

10

์˜ˆ์ œ ์ถœ๋ ฅ 3

34 55

ํ’€์ด

๋ฌธ์ œ์—์„œ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ์€ A์˜ ๊ฐœ์ˆ˜์™€ B์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ฌธ์ž์—ด์ด K๋ฒˆ์งธ์—์„œ AB๋กœ ๋ฐ”๋€Œ๊ธฐ ์œ„ํ•ด์„œ๋Š” K-1๋ฒˆ์งธ๊นŒ์ง€ A์˜ ๊ฐœ์ˆ˜์™€ B์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋ชจ๋‘ ๊ฐ™์•„์•ผํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  K๋ฒˆ์งธ์—์„œ ๋ฐ”๋€Œ๋Š” ๊ฒƒ์€ A์˜ ๊ฐœ์ˆ˜์™€ B์˜ ๊ฐœ์ˆ˜๊ฐ€ ์„œ๋กœ ๋ฐ”๋€Œ๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, K๋ฒˆ์งธ์—์„œ A์˜ ๊ฐœ์ˆ˜์™€ B์˜ ๊ฐœ์ˆ˜๊ฐ€ ์„œ๋กœ ๋ฐ”๋€๋‹ค๋ฉด, K-1๋ฒˆ์งธ๊นŒ์ง€ A์™€ B์˜ ๊ฐœ์ˆ˜๋Š” ์„œ๋กœ ๊ฐ™์•„์•ผํ•œ๋‹ค.

๋”ฐ๋ผ์„œ K=1์ผ๋•Œ A์˜ ๊ฐœ์ˆ˜์™€ B์˜ ๊ฐœ์ˆ˜๋Š” ๊ฐ๊ฐ 1๊ณผ 0์ด๋‹ค.

K=2์ผ๋•Œ A์˜ ๊ฐœ์ˆ˜์™€ B์˜ ๊ฐœ์ˆ˜๋Š” ๊ฐ๊ฐ 0๊ณผ 1์ด๋‹ค.

K=3์ผ๋•Œ A์˜ ๊ฐœ์ˆ˜์™€ B์˜ ๊ฐœ์ˆ˜๋Š” ๊ฐ๊ฐ 1๊ณผ 1์ด๋‹ค.

K=4์ผ๋•Œ A์˜ ๊ฐœ์ˆ˜์™€ B์˜ ๊ฐœ์ˆ˜๋Š” ๊ฐ๊ฐ 1๊ณผ 2์ด๋‹ค.

K=5์ผ๋•Œ A์˜ ๊ฐœ์ˆ˜์™€ B์˜ ๊ฐœ์ˆ˜๋Š” ๊ฐ๊ฐ 2์™€ 3์ด๋‹ค.

๋”ฐ๋ผ์„œ ์ž…๋ ฅ๋ฐ›์€ K๋ฒˆ์งธ์—์„œ A์˜ ๊ฐœ์ˆ˜์™€ B์˜ ๊ฐœ์ˆ˜๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

์ฝ”๋“œ

ver(1)

# n์„ ์ž…๋ ฅ ๋ฐ›์Œ
n = int(input())

# a ๋ฆฌ์ŠคํŠธ๋ฅผ n+1 ํฌ๊ธฐ๋กœ ์ƒ์„ฑํ•˜๊ณ , 0์œผ๋กœ ์ดˆ๊ธฐํ™”
a = [0]*(n+1)

# a[1]์„ 1๋กœ ์ดˆ๊ธฐํ™”
a[1] = 1

# a[i]๋ฅผ i-1๋ฒˆ์งธ์™€ i-2๋ฒˆ์งธ์˜ ํ•ฉ์œผ๋กœ ๊ณ„์‚ฐ
for i in range(2,n+1):
    a[i] = a[i-1] + a[i-2]

# a[n-1]๊ณผ a[n]์„ ์ถœ๋ ฅ
print(a[n-1],a[n])

ver(2)

n = int(input())  # ์ž…๋ ฅ๊ฐ’ n์„ ๋ฐ›์•„์˜ด
a = [0]*(n+1)  # a ๋ฆฌ์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  0์œผ๋กœ ์ดˆ๊ธฐํ™”
a[1] = 1  # a[1]์˜ ๊ฐ’์„ 1๋กœ ์„ค์ •

for i in range(2,n+1):  # i๊ฐ€ 2๋ถ€ํ„ฐ n๊นŒ์ง€ ๋ฐ˜๋ณต
    a[i] = a[i-1] + a[i-2]  # a[i]๋ฅผ a[i-1] + a[i-2]์˜ ํ•ฉ์œผ๋กœ ๊ฐฑ์‹ 

print(a[n-1],a[n])  # a[n-1]๊ณผ a[n] ์ถœ๋ ฅ

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