ffinn92 / Keep-at-solve-it

꾸준히 알고리즘 풀기 위한 스터디 저장소입니다.
2 stars 3 forks source link

[220802][반스][인프런](7-4) 피보나치 재귀 #110

Closed ffinn92 closed 2 years ago

ffinn92 commented 2 years ago

📌 문제

⭐️ 아이디어

🤔 고민한 내용

💪 새롭게 배운 내용

- DFS 탐색과정에서 배열에 담아, 배열을 바로 출력해버려 시간을 줄일수 있구나

🆘 이해가 어려운 내용

❌ 해결하지 못한 이유

✅ 본인 풀이

🏋️‍♀️ 시도횟수 : 회 | ⏱ 걸린시간 : ms | 💾 메모리 : MB

import java.io.IOException;
import java.util.Scanner;

public class If704FibonacciNumbers {
    static int[] fibo;

    public int DFS(int input) {
        if(fibo[input] > 0) {
            return fibo[input];
        }
        if (input == 1) {
            return fibo[input] = 1;
        } else if (input == 2) {
            return fibo[input] = 1;
        } else {
            return fibo[input] = DFS(input - 2) + DFS(input - 1);
        }
    }

    public static void main(String[] args) throws IOException {
        If704FibonacciNumbers T = new If704FibonacciNumbers();
        Scanner sc = new Scanner(System.in);

        int input = sc.nextInt();
        fibo = new int[input + 1];
        T.DFS(input);
        for (int i = 1; i < input + 1; i++) {
            System.out.print(fibo[i] + " ");
        }
    }
}

참고한 자료