1) 피보나키 수열을 출력한다. 피보나치 수열이란 앞의 2개의 수를 합하여 다음 숫자가 되는 수열이다.
2) 입력은 피보나치 수열의 총 항의 수 이다. 만약 7이 입력되면 1 1 2 3 5 8 13을 출력하면 된다.
▣ 입력설명
첫 줄에 총 항수 N(3<=N<=45)이 입력된다.
▣ 출력설명
첫 줄에 피보나치 수열을 출력합니다.
▣ 입력예제 1
10
▣ 출력예제 1
1 1 2 3 5 8 13 21 34 55
public static void main(String[] args) {
int N = 10;
int[] integers = solutionByIterator(N);
for (Integer integer : integers) {
System.out.print(integer + " ");
}
System.out.println("");
int[] result = new int[N];
solutionByDFS(0, result);
for (Integer integer : result) {
System.out.print(integer + " ");
}
System.out.println("");
}
private static int[] solutionByIterator(int n) {
int[] arr = new int[n];
// 최초 값 설정
arr[0] = 1;
arr[1] = 1;
for (int i = 2; i < n; i++) {
arr[i] = arr[i-1] + arr[i-2];
}
return arr;
}
private static int[] solutionByDFS(int n, int[] result) {
if(n == 0 || n == 1){
result[n] = 1;
}else if(n >= result.length){
return result;
}else{
result[n] = result[n-1] + result[n-2];
}
return solutionByDFS(n + 1, result);
}
'JAVA > 알고리즘' 카테고리의 다른 글
노드 최단거리 (DFS, BFS) (0) | 2021.06.22 |
---|---|
BFS(레벨탐색) 예제 (0) | 2021.06.16 |
팩토리얼 (반복문, DFS) (0) | 2021.06.09 |
2진수 변환 (반복문, 재귀함수) (0) | 2021.06.09 |
자연수 출력 (반복문, 재귀함수) (0) | 2021.06.09 |