영아일지

프로그래머스 피보나치 수 문제 본문

디지털/코딩테스트

프로그래머스 피보나치 수 문제

영아일지 2023. 4. 15. 14:54

문제 )

피보나치 수열 값을 1234567로 나누어라

def solution(n):
    fibo=[0,1]
    for i in range(2, n+1):
    fibo.append((fibo[i-2]+fibo[i-1])%1234567)
    return fibo[-1]

풀이)

재귀함수로 하려고 했으나 시간 초과가 났다

fibo를 메모이제이션으로 하여 하는 방법이 이전에 연산했던 것을 다시 하지 않아도 되기 때문에 시간이 훨씬 빠르다

유의할 점은, 피보나치 수가 커지면 int로 감당하기 힘들어 문제에 주어진 조건이 1234567을 계산을 할 당시마다 나누어주어야한다.