티스토리 뷰

반응형

 문제

 

 

 문제 상황

 

- 계단을 뛰는 방법이 1칸 또는 2칸일 때에 n번째 칸에 도달하는 방법의 수

 

 

 

 해결 전략

 

 

- 전형적인 피보나치 문제로 매우 쉬운 문제

 

 

 

 코드

 

1
2
3
4
5
6
7
8
def solution(n):
    cache = [0 for i in range(n+1)]
    cache[1= 1
    if n >=2:
        cache[2= 2
        for i in range(3,n+1):
            cache[i] = (cache[i-1+ cache[i-2])%1234567
    return cache[n]
cs

 

 

 

 

 해설

 

- 선택지가 2개이고, 어떤 선택을 만드는 방법이 이전 부분 문제의 합이므로 dp를 사용한다.

 

 새로 학습한 것 & 실수 

 

- 처음에 n의 조건이 1이상인데 cache[2] = 2를 자연스럽게 설정했다가 오류를 만났다. 변수를 초기화할 때 범위에 주의하자.

 

- 문제가 쉬워도 기본 문제의 조건을 확인할 필요가 있다.

 

 

출처 - https://programmers.co.kr/learn/courses/30/lessons/12914
반응형
댓글