728x90
백준 단계별로 풀기에서 동적계획법1이 all solve이었는데 갑자기 한 문제가 추가 되어서 풀게 된 문제이다.
브론즈 1이지만 DP의 효율성을 알 게 해주는 아주 귀중한 문제이다.
수도 코드가 이미 있어서 따라 치기만 해도 된다.
package 동적계획법;
import java.util.*;
import java.io.*;
public class Boj_24416_알고리즘수업_피보나치 {
static int a, b, dp[];
public static void main(String[] args) throws Exception{
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
dp = new int[n+1];
dp[1] = 1;
dp[2] = 1;
fib(n);
fibonacci(n);
System.out.print(a + " " + b);
}
private static int fibonacci(int n) {
for (int i = 3; i <= n; i++) {
dp[i] = dp[i-1] + dp[i-2];
b++;
}
return dp[n];
}
private static int fib(int n) {
if(n == 1 || n == 2) {
a++;
return 1;
}
return fib(n-1) + fib(n-2);
}
}
이제 25단계까지 3문제 남았다!!!
728x90
'알고리즘공부(Algorithm Study) > 문제풀이(ProblemSolving)' 카테고리의 다른 글
백준 1918 java - 후위 표기식(자료구조-스택) (0) | 2022.06.29 |
---|---|
백준 9465 - java 스티커(동적계획법) (0) | 2022.06.28 |
백준 1707 java 이분그래프 (그래프) (0) | 2022.06.15 |
백준 7569 java - 토마토(그래프/bfs) (0) | 2022.05.30 |
백준 1637 java - 날카로운 눈(이진탐색, 누적합, 정수론/feat.생애첫플레 1솔) (0) | 2022.05.29 |
댓글