입력 : n (1 ≤ n ≤ 90 )
출력 : n번째 피보나치 수
O(N)
DP
for 루프에서 i <= n으로 설정하여 n번째 값을 계산하도록 해야하고, 피보나치 수의 배열은 long 형이어야 한다.
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.close();
if (n == 0) {
System.out.print(0);
return;
}
if (n == 1) {
System.out.print(1);
return;
}
int[] fib = new int[n + 1];
fib[0] = 0;
fib[1] = 1;
for (int i = 2; i <= n; i++) {
fib[i] = fib[i - 2] + fib[i - 1];
}
System.out.print(fib[n]);
}
}