Python/Algorithm

[프로그래머스] 멀리 뛰기 - Python

언킴 2023. 9. 16. 17:08
반응형

해당 문제는 피보나치 수열로 문제를 풀 수 있다. 

 

 

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

점화식으로 풀이를 진행했는데, 마지막에 1234567으로 나누지 않았을 때에는 테스트 케이스의 값이 너무 커서 런타임에러가 발생했다. 매번 값을 계산할 떄마다 1234567을 나눠주는 형태로 결과를 도출하고 마지막 p[-1] 값을 리턴하는 방식으로 해결할 수 있따.