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);
}
}
}
'JAVA' 카테고리의 다른 글
[백준/자바] 9625번 BABBA (0) | 2022.02.06 |
---|---|
[백준/자바] 15312번 이름궁합 (0) | 2022.02.05 |
[백준/자바] 2747번 피보나치수 (0) | 2022.02.05 |
[백준/자바] 12605번 단어순서 뒤집기 (0) | 2022.02.01 |
[백준/자바] 2750번 수 정렬하기 (0) | 2022.01.31 |
댓글