공부하기/백준

[Python] 백준 풀기 2747 - 피보나치 수

XEV 2023. 1. 11. 22:15

파이썬 백준 2747번

브론즈 2

https://www.acmicpc.net/problem/2747

 

2747번: 피보나치 수

피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가

www.acmicpc.net

 

 

 

 

 

 

문제 보기

분류: 수학, 구현

 

 

 

 

 

문제 풀기

초기값인 0 번째는 0, 1 번째는 1 을 저장한 뒤, 피보나치 수의 합의 식을 따르는

    Fn = Fn-1 + Fn-2 (n ≥ 2)

를 적용하여 구하고자 하는 피보나치 수까지 계산하면 리스트에 저장하고 마지막 index 값을 출력한다.

 

 

 

 

 

코드 보기

import sys
inputdata = sys.stdin.readline


def fnFibonacci(n):
    fibo_ls = [0] * (n + 1)
    fibo_ls[0] = 0 
    fibo_ls[1] = 1
    
    for i in range (2, n + 1):
        fibo_ls[i] = fibo_ls[i - 1] + fibo_ls[i - 2]
    print(fibo_ls)          # TEST PRINT
    print(fibo_ls[- 1])


if __name__ == "__main__":
    n = int(inputdata().strip())
    
    fnFibonacci(n)



# 10

# [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

# 55