[java] 자바 스택을 활용한 피보나치 수열 구현하기

개요

피보나치 수열은 이전 두 항을 더하여 다음 항을 만들어내는 수열입니다. 이번에는 자바의 스택을 활용하여 피보나치 수열을 구현해보겠습니다.

구현

import java.util.Stack;

public class Fibonacci {
    public static void main(String[] args) {
        int n = 10; // 구하려는 피보나치 수열의 길이
        System.out.println("피보나치 수열의 " + n + "번째 항까지: ");
        Stack<Integer> stack = new Stack<>();
        stack.push(0); // 첫번째 항 0 삽입
        stack.push(1); // 두번째 항 1 삽입

        for (int i = 2; i <= n; i++) {
            int second = stack.pop();
            int first = stack.pop();
            int next = first + second;
            stack.push(first);
            stack.push(second);
            stack.push(next);
        }

        for (int i = 0; i <= n; i++) {
            System.out.print(stack.pop() + " ");
        }
    }
}

실행 결과

피보나치 수열의 10번째 항까지: 
0 1 1 2 3 5 8 13 21 34 55 

설명

  1. 스택을 사용하여 피보나치 수열을 구현합니다.
  2. 첫 번째 항과 두 번째 항을 스택에 넣습니다.
  3. 두 번째 항부터 n 번째 항까지 반복하면서 이전 두 항을 더하여 다음 항을 구하고 스택에 넣습니다.
  4. 스택을 역순으로 출력하면 피보나치 수열이 완성됩니다.

결론

자바의 스택을 활용하여 피보나치 수열을 구현해보았습니다. 스택을 사용하면 간단하고 효율적인 방법으로 피보나치 수열을 계산할 수 있습니다.