코딩테스트 문제

피보나치 수열, 재귀함수 이용해서 풀기

유호야 2022. 12. 2. 15:42
반응형

전에는 리스트 배열로 풀었던 것 같은데

재귀함수로 푸는 문제를 맞이하는 바람에 한 번 풀게 되었다. 

재귀함수, 팩토리얼이 기억이 잘 안 났는데 아래 블로그의 연결된 링크에서 친절하게 가르쳐주어 독파!

 

[JAVA] 재귀 기초 - 피보나치 (Fibonacci)

재귀에 대한 이해도가 전혀 없다면 http://marobiana.tistory.com/79 fibo(2-2) + fibo(2-1) else문의 첫번째 메소드인 fibo(2-2)가 호출 된다. 3) fibo(2-2)n은 0이므로 if문에서 0리턴하고 종료 fibo(2-2) + fibo(2-1) => 0 + fib

marobiana.tistory.com

import java.util.Scanner;

class Main {
   int a = 10;
   public static void main(String args[]) {
      Scanner scn = new Scanner(System.in);
      int input = scn.nextInt();
//      테스트 int input = 6;
      
//      for(int i = 0; i <= input; i++) {
//         System.out.println("input값: " +i );
//         System.out.println(fibo(i));
//      }
   
      //System.out.println(input+"번째값 : " + fibo(input));
      System.out.println(fibo(input));
   }
   
    public static int fibo(int n) {
       if(n == 0) {
          return 0;
       } else if(n == 1) {
          return 1;
       }
       
       return fibo(n-2) + fibo(n-1);
    }
}
반응형

'코딩테스트 문제' 카테고리의 다른 글

Anagram 코딩테스트 문제  (0) 2022.12.08
알고리즘 기초 문제  (0) 2020.10.18