곽로그
[백준 2748, Java] 피보나치 수2 본문
반응형
문제
풀이
코드로 설명이 되어서 풀이는 패스. 주의해야 할 점은 출력하는 피보나치 수의 자료형은 long
코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static int N;
public static long[] memo;
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
N = Integer.parseInt(br.readLine());
memo = new long[N+1];
long result = getFiboByTopDown(N);
bw.write(String.valueOf(result));
bw.flush();
br.close();
bw.close();
}
public static long getFiboByBottomUp(){
for(int n = 1; n<=N; n++){
if(n==1){
memo[n] = 1;
}
else{
memo[n] = memo[n-1] + memo[n-2];
}
}
return memo[N];
}
public static long getFiboByTopDown(int n){
if(n==1){
memo[n] = 1;
return 1;
}
else if(n<1){
return 0;
}
else if(memo[n]!=0){
return memo[n];
}
else{
memo[n] = getFiboByTopDown(n-1) + getFiboByTopDown(n-2);
return memo[n];
}
}
}
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준 13300, Java] 방 배정 (0) | 2020.12.23 |
---|---|
[백준 1919, Java] 애너그램 만들기 (0) | 2020.12.23 |
[백준 2667, Java] 단지번호 붙이기 (0) | 2020.12.22 |
[백준 2178, Java] 미로 탐색 (0) | 2020.12.22 |
[백준 15664, Java] N과 M (10) (0) | 2020.12.17 |
Comments