문제
https://school.programmers.co.kr/learn/courses/30/lessons/12914
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
def solution(n):
answer = [1,1]
for i in range(2, n+1): # F(n) = (F(n-1) + F(n-2)) % 1234567
answer.append((answer[i - 1] + answer[i - 2]) % 1234567)
return answer[-1] # 마지막 결과를 return
설명
사용할 알고리즘이 정확하게 DP 인지는 몰랐으나 뭔가 형태가 피보나치 수열 인 것 같아서 그렇게 접근했다.
다만 문제에서는 초기 조건이 다르다.
뛰어야 하는 칸(n) 이
- 0칸인 경우 -> 1가지
- 1칸인 경우 -> (1칸) -> 1가지
- 2칸인 경우 -> (1칸, 1칸), (2칸) -> 2가지
'Coding Test > Python' 카테고리의 다른 글
| [프로그래머스] 방문 길이 (1) | 2023.06.09 |
|---|---|
| [프로그래머스] 스킬트리 (0) | 2023.06.09 |
| [프로그래머스] N개의 최소공배수 (0) | 2023.06.09 |
| [프로그래머스] 점프와 순간 이동 (0) | 2023.06.09 |
| [프로그래머스] 구명보트 (0) | 2023.06.08 |