코딩공부/프로그래머스

[프로그래머스]Lv.2 피보나치 수 C#(재귀)

usingsystem 2023. 8. 4. 10:45
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/12945

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

소스코드1( 재귀 사용 시간복잡도 오류)

public class Solution {
    public int solution(int n) {
           return fibonacci(n);
        }

         int fibonacci(int n)
        {
            if (n <= 1)
                return n;
            else
                return (fibonacci(n - 1) + fibonacci(n - 2)) % 1234567;
        }
}

소스코드2

public class Solution
{
    public int solution(int n)
    {
        int[] fibonArr = new int[n + 1];
        fibonArr[0] = 0;
        fibonArr[1] = 1;

        for (int i = 2; i <= n; i++)
        {
            fibonArr[i] = (fibonArr[i - 2] + fibonArr[i - 1]) % 1234567;
        }
        return fibonArr[n];
    }
}
728x90