๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐˜ผ๐™ก๐™œ๐™ค๐™ง๐™ž๐™ฉ๐™๐™ข/๐™‹๐™ง๐™ค๐™œ๐™ง๐™–๐™ข๐™ข๐™š๐™ง๐™จ

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 'ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜' ํŒŒ์ด์ฌ ํ’€์ด

by beomcoder 2023. 2. 21.
728x90
๋ฐ˜์‘ํ˜•
 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

"""
ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋Š” F(0) = 0, F(1) = 1์ผ ๋•Œ, 1 ์ด์ƒ์˜ n์— ๋Œ€ํ•˜์—ฌ
F(n) = F(n-1) + F(n-2) ๊ฐ€ ์ ์šฉ๋˜๋Š” ์ˆ˜ ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ๋“ค์–ด

F(2) = F(0) + F(1) = 0 + 1 = 1
F(3) = F(1) + F(2) = 1 + 1 = 2
F(4) = F(2) + F(3) = 1 + 2 = 3
F(5) = F(3) + F(4) = 2 + 3 = 5

์™€ ๊ฐ™์ด ์ด์–ด์ง‘๋‹ˆ๋‹ค.

2 ์ด์ƒ์˜ n์ด ์ž…๋ ฅ๋˜์—ˆ์„ ๋•Œ, n๋ฒˆ์งธ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋ฅผ
1234567์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”.
"""

def solution(n):
    fibo = [0,1]
    
    for i in range(1, n):
        fibo.append(sum(fibo[-2:]))
        
    return fibo[-1]%1234567

"""
ํ”ผ๋ณด๋‚˜์น˜๋Š” 2๋ฒˆ์งธ ์ „์˜ ์ˆซ์ž, 1๋ฒˆ์งธ ์ „์˜ ์ˆซ์ž๋ฅผ ๋”ํ•œ ๊ฐ’์ด๋‹ค.
0๋ฒˆ์งธ์™€ 1๋ฒˆ์งธ๋Š” 0,1์ด๋ผ๊ณ  ํ–ˆ์œผ๋ฏ€๋กœ fibo = [0,1]์œผ๋กœ ์„ธํŒ…ํ•œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  n๊นŒ์ง€ fibo์— 2๋ฒˆ์งธ ์ „, 1๋ฒˆ์งธ ์ „์˜ ์ˆซ์ž๋ฅผ ๋”ํ•œ ๊ฐ’์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

๋งˆ์ง€๋ง‰์˜ ์ˆซ์ž์— 1234567๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ’์„ ๋ฆฌํ„ดํ•œ๋‹ค.
"""
728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€