티스토리 뷰

출저   https://programmers.co.kr/learn/challenge_codes/4


문제

피보나치 수는 F(0) = 0, F(1) = 1일 때, 2 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 점화식입니다. 2 이상의 n이 입력되었을 때, fibonacci 함수를 제작하여 n번째 피보나치 수를 반환해 주세요. 예를 들어 n = 3이라면 2를 반환해주면 됩니다.


풀이


class Fibonacci {
	public long fibonacci(int num) {
		long answer = 0;

		if (num <= 1)
			return num;
		else
			answer = fibonacci(num-1) + fibonacci(num-2);
		return answer;

	}

	// 아래는 테스트로 출력해 보기 위한 코드입니다.
	public static void main(String[] args) {
		Fibonacci c = new Fibonacci();
		int testCase = 3;
		System.out.println(c.fibonacci(testCase));
	}
}

다른 사람들의 풀이


class Fibonacci {
    public long fibonacci(int num) {
        long answer = 0;
    long[] dp = new long[num+1];
    dp[0]=0;dp[1]=1;

    for(int i = 2 ; i<=num;i++){
      dp[i] = dp[i-1]+dp[i-2];
    }

        return dp[num];
    }

  // 아래는 테스트로 출력해 보기 위한 코드입니다.
    public static void main(String[] args) {
        Fibonacci c = new Fibonacci();
        int testCase = 3;
        System.out.println(c.fibonacci(testCase));
    }
}

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함