본문 바로가기
JAVA/백준

[백준/자바] 2748번 피보나치수2

by 동백05 2022. 2. 5.

https://www.acmicpc.net/problem/2748

 

2748번: 피보나치 수 2

피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가

www.acmicpc.net

2747번은 탑다운 형식으로 풀었다면 이번엔 바텀업 방식으로 풀어보았다.

import java.util.Scanner;
public class feb05two {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner s=new Scanner(System.in);
		int number=s.nextInt();
		long dp[]; //최댓값이 90이기 때문에 int형으로는 계산이 되지 않는다.
		dp=new long[number+1];
		if(number>=3) {
			dp[1]=1;
			dp[2]=1;
			for(int i=3;i<number+1;i++) {
				dp[i]=dp[i-1]+dp[i-2];
			}
			System.out.print(dp[number]);
		}
		else if(number==2||number==1){
			System.out.print(1);
		}
	}
}

댓글