문제 요약
링크 : 피보나치 수
피보나치 수는 첫번째 수가 ‘0’ 이고 두번쨰 수가 ‘1’ 로 시작을 한다.
배열에 피보나치 수가 들어있을 때, ‘n’ 번째 피보나치 수를 출력해라.
‘n’ 은 45 보다 작거나 같다.
풀이
미리 배열에 피보나치 수를 만들어 놓고, 입력 받은 ‘n’ 의 배열 인덱스의 값을 출력해 주었다.
만들어 둔 피보나치 배열은 인덱스가 0번째 부터 시작하는데, 입력 받는 값 ‘n’ 은 자연수 범위 이기 때문에 사용자가 원하는 값의 시작은 1번째 부터 45번째 까지이다.
따라서, 배열을 만들 때, ‘0’을 고려해서 배열의 크기를 ‘46’까지 주었다.
Code
package backjoon;
import java.util.Scanner;
public class Fibonacci {
private static final Scanner scan = new Scanner(System.in);
private static final int N = 46;
private static int[] fiboArr = new int[N];
private void setArr() {
fiboArr[0] = 0;
fiboArr[1] = 1;
int start = 2; // 3번째
for (int i = start; i < N; i++) {
fiboArr[i] = fiboArr[i - 1] + fiboArr[i - 2];
}
}
public static void main(String[] args) {
int input = scan.nextInt();
new Fibonacci().setArr();
System.out.println(fiboArr[input]);
}
}