fibonacci (배열)

최준호·2021년 8월 5일
0

알고리즘 강의

목록 보기
11/79

설명

1) 피보나키 수열을 출력한다. 피보나치 수열이란 앞의 2개의 수를 합하여 다음 숫자가 되는 수열이다.

2) 입력은 피보나치 수열의 총 항의 수 이다. 만약 7이 입력되면 1 1 2 3 5 8 13을 출력하면 된다.

코드

public class Fibonacci {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int input1 = in.nextInt();
        solution(input1);
    }
    public static void solution(int input1){
        int[] arr = new int[input1];
        arr[0] = 1;
        arr[1] = 1;

        for(int i=2; i<input1; i++){
            arr[i] = arr[i-2] + arr[i-1];
        }

        for(int i : arr){
            System.out.print(i+" ");
        }
    }
}

보통 재귀로 많이 푸는데 강의 순서 상 배열로 풀어볼 수 있었다. 제한사항으로는 입력되는 값은 무조건 3보다 큰 수가 입력되므로 따로 유효성 검사를 할 필요는 없었고 피보나치 배열의 특성상 0과 1은 무조건 1이 들어가기 때문에 초기 배열의 값을 1,1 고정값을 넣은 후 반복문을 돌리면 끝난다.

재귀로도 풀수 있어야한다!

profile
코딩을 깔끔하게 하고 싶어하는 초보 개발자 (편하게 글을 쓰기위해 반말체를 사용하고 있습니다! 양해 부탁드려요!) 현재 KakaoVX 근무중입니다!

0개의 댓글