티스토리 뷰

728x90

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

 

코딩테스트 연습 - 피보나치 수

피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) =

programmers.co.kr

 

  • 해설 :

2 이상의 n이 입력되었을 때, n 번째 피보나치 수를 1234567로 나눈 나머지를 출력하면 된다. 

 

 

 

 

  • 풀이 :

DP의 가장 대표적인 문제이다.  n-1과 n-2번째의 값을 더하여 n번째 인덱스에 넣으면 된다. 

 

 

 

 

1
2
3
4
5
6
7
def solution(n):
    dp = [0* (n+1)
    dp[0= 0
    dp[1= 1
    for i in range(2,n+1):
        dp[i] = dp[i-1+ dp[i-2]
    return dp[n]%1234567
cs
320x100
댓글
© 2022 WonSeok, All rights reserved