출처: https://meyouus.tistory.com/64 [정보 공유 - For Me For You For Us]
본문으로 바로가기


간단한 피보나치 함수 문제이다:

import sys

fb = [0, 1, 1]
N = int(sys.stdin.readline())

if N < 3:
    print(fb[N])
else:
    for i in range(N-2):
        fb.append(fb[-2] + fb[-1])
    print(fb[-1])

우선, N이 3보다 클때와 3보다 작을때를 나누어서 생각해야 한다.

3보다 작을 경우, 다른 행위는 안해도 되므로, 단순히 피보나치 함수 리스트인 fb의 초기 0번째 1번째 2번째 값에서 찾으면 된다.
만약 N 값이 3보다 클 경우, N-2번 만큼 피보나치 함수 리스트의 마지막 두 숫자를 for문을 사용하여 더해주고, 기존 피보나치 함수 수열에 더해준다.

마지막으로 나오는 숫자가 피보나치 함수의 N번째 숫자가 될 것이므로, 이를 출력해준다.