티스토리 뷰

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

 

 


 

 

<나의 풀이>

def solution(n):
    answer = 0
    cache =[0 for i in range(n+1)]
    cache[0] = 0
    cache[1] = 1
    for i in range(2,n+1) :
        cache[i] = cache[i-1] + cache[i-2]

    answer = cache[n] % 1234567
    return answer

 

DP방식으로 피보나치 수열을 구현해낸 코드

이것보다 아래 다른 사람의 풀이가 더 시간이 적게 나왔다.

 


 

<다른 사람의 풀이>

def solution(n):
    a,b = 0,1
    for i in range(n):
        a,b = b,a+b
    return a % 1234567
    
    
# <배운 점> 
# => 파이썬의 특징을 잘 살려서 코드를 짠 점 
728x90
반응형
댓글