백준 1003 피보나치 함수

김민영·2023년 1월 8일
0

알고리즘

목록 보기
39/125

과정

  • 재귀로 피보나치를 구하는 코드가 있어서 그대로 실행했더니 시간초과가 나온다.
  • 동적 프로그래밍을 연습한다.
  • 40까지 모든 피보나치 연산을 한다. 각 과정의 연산값은 리스트에 저장하고, 다음 연산에서 사용한다.
  • 0, 1을 호출하는 횟수이므로 초기화를 주의해서 한다.
    import sys
    input = sys.stdin.readline
    tc = int(input())

dp_0 = [0] 41
dp_1 = [0]
41
dp_0[0] = 1
dp_1[1] = 1

for i in range(2, 41):
dp_0[i] = dp_0[i-1] + dp_0[i-2]
dp_1[i] = dp_1[i-1] + dp_1[i-2]

for _ in range(tc):
N = int(input())
print(dp_0[N], dp_1[N])

profile
노션에 1차 정리합니당 - https://cream-efraasia-f3c.notion.site/4fb02c0dc82e48358e67c61b7ce8ab36?v=

0개의 댓글