풀이 과정
- 현재 위치를 도달하기 위해서는 n-1cm에서 1cm 뛰거나 n-2cm에서 2cm 뛰어야 함.
- 따라서, dp[i] = dp[i-1] + dp[i-2]
- 위 과정을 1~n까지 아래에서 위로 진행하면 된다.
- dp[n] 리턴
소스 코드
def solution(n):
answer = 0
dp = [1] + [0] * n
for i in range(1, n+1):
if i-1 >= 0:
dp[i] += dp[i-1]
if i-2 >= 0:
dp[i] += dp[i-2]
answer = dp[n] % 1234567
return answer
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
'알고리즘[Python] > 프로그래머스' 카테고리의 다른 글
[ Lv 3 ] 이중우선순위큐 (0) | 2021.07.23 |
---|---|
[ Lv 3 ] N으로 표현 (0) | 2021.07.23 |
[ Lv 3 ] 거스름돈 (0) | 2021.07.22 |
[ Lv 3 ] 매칭 점수 (0) | 2021.07.21 |
[ Lv 3 ] 단속카메라 (0) | 2021.07.21 |