본문 바로가기
Algorithm(BOJ, Python)/Dynamic Programing

[백준_15624] 피보나치 수 7 python

by kurooru 2022. 8. 5.

n == 0일 경우를 따로 처리해 주지 않으면,

dp길이가 맞이 않아 런타임 에러에 빠진다.

# n 입력
n = int(input())

# n = 0 일 경우
if n == 0:
    print(0)

# n >= 1 일 경우
else:
    # dp 설계
    dp = [
        0 for _ in range(n + 1)
    ]

    # dp 초기설정
    dp[0] = 0
    dp[1] = 1

    # dp 채워넣기
    for i in range(2, n+1):
        dp[i] = (dp[i-2] + dp[i-1]) % 1000000007

    # 출력
    print(dp[n])