230721

송용진·2023년 7월 21일
0

DP는 메모

# 메모이제이션을 위한 딕셔너리를 전역 변수로 선언합니다.
# 이 딕셔너리는 계산된 피보나치 수열의 값을 저장하는데 사용됩니다.
fib_cache = {0: 0, 1: 1}  # 첫 번째와 두 번째 피보나치 수는 0과 1로 초기화합니다.

def fibonacci(n):
    # fib_cache는 이 함수 바깥에서 선언된 전역 변수입니다.
    # 따라서 이를 함수 내에서 변경하려면 global 키워드를 사용해야 합니다.
    global fib_cache
    
    if n in fib_cache:
        return fib_cache[n]
    else:
        fib_cache[n] = fibonacci(n-1) + fibonacci(n-2)
        return fib_cache[n]

print(fibonacci(10))  # 55

'''
43강 
혼자힘으로 풀어보기
'''

profile
개발자

1개의 댓글

comment-user-thumbnail
2023년 7월 21일

DP와 메모이제이션에 대해 매우 잘 설명해주셔서 쉽게 이해할 수 있었습니다. 피보나치 수열 구현 예제도 매우 도움이 되었어요. 감사합니다!

답글 달기