[개발]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) 인 것을 기억해두자!

'[개발]programmers > Python3' 카테고리의 다른 글

Lv.1_문자열 내 마음대로 정렬하기  (0) 2023.02.21
Lv.2_H-Index  (0) 2023.02.20
Lv.2_점프와 순간 이동  (0) 2023.02.15
Lv.2_N개의 최소공배수  (0) 2023.02.15
Lv.2_예상 대진표  (0) 2023.02.15