[Algorithm /인프런] 피보나치 수 (2)

2023. 11. 4. 13:05Algorithm/JAVA

[강의 풀이]

package section7_recursive_tree_graph;

import java.util.Scanner;

public class Fibonachi {
	static int[] fibo;
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		Fibonachi ma = new Fibonachi();
		
		int num = sc.nextInt();
		fibo =new int[num+1]; 
		ma.DFS(num);
		for(int i = 1; i<=num; i++)
			System.out.print(fibo[i]+" ");
		
	}
	//강의 풀이
	public int DFS(int n) {
   		if(fibo[n]>0) return fibo[n]; //메모리제이션
		if(n ==1 ) return fibo[n]=1;
		else if(n == 2) return fibo[n]=1;
		else return fibo[n]=DFS(n-2)+DFS(n-1);
	}
}