[개발]programmers/Python3

Lv.2_멀리 뛰기

dowon 2023. 2. 20. 22:07

https://school.programmers.co.kr/learn/courses/30/lessons/12914

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

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

숫자 형태를 보고 어디선가 많이 본 것 같다...했는데 피보나치 수열이었다ㄷㄷㄷ

그래서 피보나치 수열을 프로그래밍하고 %1234567하면 끝!

여기서 d = [0] * (n+1)을 한 이유는 리스트의 크기가 피보나치 수열을 할 경우 n을 넘어가기 때문이다

리스트의 크기를 조절하는 방법은 [0] * (x) 인 것을 기억해두자!

댓글수0