백준

백준 1003 피보나치 함수(Java)

Park DJ 2023. 1. 30. 17:43

https://www.acmicpc.net/problem/1003

 

1003번: 피보나치 함수

각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다.

www.acmicpc.net


 

해석 및 팁

 


 

이 문제는 이중배열을 통해 0과 1의 호출 횟수를 구해주면 됩니다. n의 범위가 40까지이므로 배열에 값을 넣은 후 n이 주어지면 호출하면 됩니다.

 


 

Java 코드

 


import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    StringBuilder sb = new StringBuilder();

    int t = sc.nextInt();
    int[][] arr = new int[2][41];

    arr[0][0] = 1;
    arr[0][1] = 0;
    arr[1][0] = 0;
    arr[1][1] = 1;

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

    
    for(int i = 0; i < t; i++) {
      int n = sc.nextInt();
      sb.append(arr[0][n]+" "+arr[1][n]).append("\n");
    }
    
    System.out.println(sb);
  }
}