-
1003. 피보나치 (재귀함수와 dp 차이)코테 준비/DP 2022. 12. 29. 23:29
재귀함수로 구현했을 때보다 DP로 구현했을 때 시간이 훨씬 적게 소요된다.
<재귀함수> def fibonacci(n): if n == 0: print("0") return 0 elif n == 1: print("1") return 1 else: return fibonacci(n‐1) + fibonacci(n‐2)
<DP> import sys t=int(sys.stdin.readline()) for i in range(t): num=int(sys.stdin.readline()) #피보나치 zero=[1,0,1] one=[0,1,1] if num>=3: for j in range(2,num): zero.append(zero[j-1]+zero[j]) one.append(one[j-1]+one[j]) print(zero[num],one[num])
'코테 준비 > DP' 카테고리의 다른 글
9461. 파도반 수열 (0) 2023.01.06 11727. 2xn 타일링 2 (dp는 규칙을 찾자!) (2) 2023.01.05 9095. 1,2,3 더하기 (규칙찾기) (0) 2023.01.04 2579. 계단 오르기 (다시 보기) (0) 2023.01.04 1463. 1로 만들기 (0) 2023.01.03