C/Algorithm with 백준

피보나치수열 DP

OHDONGHYEON 2022. 5. 3. 19:41

아래의 코드는 디피와 제귀함수를 활용하여 작성하였다

내가 디피를 쓴 이유는 디피를 쓰지 않으면 또 반복했던 제귀과정을 거쳐야 하기 때문이다.

그렇게 되면 필요 없는 시간이 낭비가 된다.

#include <stdio.h>

int dp[1000];

int fibo(int n) {
	if(n==0) return 0;
	if(n==1) return 1;
	if(dp[n] != 0) return dp[n];
	return dp[n] = fibo(n-1) + fibo(n-2);
}

int main() {
	int p;
	scanf("%d", &p);
	printf("%d", fibo(p));
	return 0;
}