아이공의 AI 공부 도전기

[CodeUp] 2601번 : 피보나치 수열 (Python)

 

 

 

 

Python

 

방법 1 - 메모리 27724 / 시간 16 / 코드 길이 213B

Memorization을 포함하는 Top-Down Dynamic Programming 방법

def fi(n, l):
    if n == 1 or n == 2:
        return 1
    if l[n]:
        return l[n]
    else:
        l[n] = fi(n-1, l) + fi(n-2, l)
        return l[n]

n = int(input())
l = [0]*41
print(fi(n, l))

 

방법 2 - 메모리 27724 / 시간 16 / 코드 길이 

l = [0,1]+[0]*39
n = int(input())
for i in range(2, n+1):
    l[i] = l[i-1] + l[i-2]
print(l[n])

 

 

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading