RUBY

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

PS/Programmers

[프로그래머스] 피보나치 수

RUBY_루비 2020. 10. 27. 23:59

출처:: programmers.co.kr/learn/courses/30/lessons/12945?language=python3

분류:: 

 

1. 문제 이해 및 해결과정

 

2. 풀이방법

 1. [python] 메모이제이션

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

  2. [python] 식

def solution(n):
    a,b=0,1
    for i in range(n):
        a,b=(b)%1234567,(a+b)%1234567
    return a

 

3. 오답원인

 1. 재귀  -> 시간초과 + 런타임에러 

def solution(n):
    if n==1 or n==2:
        return 1
    else:
        return (solution(n-1)+solution(n-2))%1234567

 2. 식 -> 시간초과 + 런타임에러 %1234567 해주어야 함 

def solution(n):
    a,b=0,1
    for i in range(n):
        a,b=b,a+b
    return a

 

4. 알게된 점

 

Comments