코딩고치

[파이썬][백준] 2747번: 피보나치 수 본문

파이썬/백준 문제

[파이썬][백준] 2747번: 피보나치 수

코딩고치 2020. 5. 28. 23:10

1. 문제

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

 

2747번: 피보나치 수

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

www.acmicpc.net

문제 유형: 동적 계획(DP)

 

  • 일반적인 재귀 함수로 코드를 작성하면 시간초과
  • 동적 계획법을 이용해야 정답처리가 됨.

2. 소스코드

import sys


def fibo(num):
    result = [0 for i in range(num + 1)]
    result[0] = 0
    result[1] = 1

    for i in range(2, n + 1):
        result[i] = result[i - 1] + result[i - 2]
    return result[num]


n = int(sys.stdin.readline())

print(fibo(n))
Comments