728x90
언어_ 자바
0) 피보나치 수열이란?
피보나치 수열이란 앞의 2개의 수를 합하여 다음 숫자가 되는 수열이다.
1) 재귀 사용
public class Test4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int i=1; i<=n; i++){
System.out.print(fibo(i)+" ");
}
}
public static int fibo(int a){
if(a <=1) return a;
else return fibo(a-2) + fibo(a-1);
}
}
// 입력값
10
// 출력값
1 1 2 3 5 8 13 21 34 55
a 가 3이면 fibo(1) + fibo(2) 의 값이 리턴이 되고
a 가 4인 경우 fibo(2) + fibo(3) 의 값이 리턴된다.
결과 =>
2) 배열 사용
class Test4 {
public int[] solution(int n) {
int[] arr = new int[n];
arr[0] = 1;
arr[1] = 1;
for(int i=2; i<n; i++){
arr[i] = arr[i-2] + arr[i-1];
}
return arr;
}
public static void main(String[] args) {
Test4 s = new Test4();
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int x : s.solution(n)) System.out.print(x+" ");
}
}
배열의 인덱스 0과 1번은 무조건 1로 시작하므로 값을 담고 시작한다.
중요한 점은 for 반복문을 돌 때, 시작이 2부터 하는 것이다.
728x90
'Algorithm' 카테고리의 다른 글
[inflearn] 숫자만 추출 (0) | 2024.01.18 |
---|---|
[inflearn] 뒤집은 소수 (1) | 2024.01.10 |
✨ 알고리즘 문제 풀이 꿀팁 (0) | 2024.01.03 |
✨ 알고리즘 관련 기초 자바 문법 (1) | 2024.01.01 |
[프로그래머스] (181916) 주사위 게임 3 (0) | 2023.12.29 |