티스토리 뷰
728x90
반응형
문제
문제 풀이
멀리 뛰기를 할 수 있는 방법이 1칸 또는 2칸으로 정해져 있다. 이때 N개의 칸을 뛰고자 하는 경우, 경우의 수가 몇 개인지 찾는 문제이다. 이는 각 경우에 따라 어떤 규칙을 이루는지 확인하면 쉽게 해결할 수 있다.
- N이 1인 경우
- 1개 : 1칸
- N이 2인 경우
- 2개 : (1 + 1칸), 2칸
- N이 3인 경우
- 3개 : (1 + 1 + 1칸), (2 + 1칸), (1 + 2칸)
즉 N에 따라 `dp[N] = dp[N - 1] + dp[N - 2]`라는 점화식을 이끌어 낼 수 있다. 해당 점화식을 통해 구해진 답이 문제에서 찾고자 하는 답이다.
코드
def solution(n):
# 0, 1을 1로 초기화하여 점화식에 사용.
dp = [1, 1] + [0] * n
for i in range(2, n):
dp[i] = dp[i - 1] + dp[i - 2]
return dp[-1] % 1234567
728x90
반응형
'👨💻 코딩테스트 > 프로그래머스' 카테고리의 다른 글
프로그래머스: SQL - JOIN (0) | 2020.10.28 |
---|---|
프로그래머스: 줄 서는 방법 (2) | 2020.10.26 |
프로그래머스: 방문 길이 (0) | 2020.10.25 |
프로그래머스: 입국심사 (0) | 2020.10.25 |
프로그래머스: 도둑질 (0) | 2020.10.24 |
댓글
글 보관함
최근에 올라온 글
최근에 달린 댓글