[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
설명
- 스택을 사용하여 피보나치 수열을 구현합니다.
- 첫 번째 항과 두 번째 항을 스택에 넣습니다.
- 두 번째 항부터 n 번째 항까지 반복하면서 이전 두 항을 더하여 다음 항을 구하고 스택에 넣습니다.
- 스택을 역순으로 출력하면 피보나치 수열이 완성됩니다.
결론
자바의 스택을 활용하여 피보나치 수열을 구현해보았습니다. 스택을 사용하면 간단하고 효율적인 방법으로 피보나치 수열을 계산할 수 있습니다.