[백준/DP]9095
9095번 문제
DP는 메모이제이션을 사용해야한다고 한다
def solution(n):
count_array = [0 for _ in range(n+1)]
count_array[0] = 1
for i in range(n+2):
if i+1 <= n:
count_array[i+1] += count_array[i]
if i+2 <= n:
count_array[i+2] += count_array[i]
if i+3 <= n:
count_array[i+3] += count_array[i]
return count_array[n]
n = int(input())
answer = []
for i in range(n):
answer.append(int(input()))
for num in answer:
print(solution(num))
- 배열에는 지금 index까지 더하는 방식의 갯수를 저장한다
- 지금 index +1, +2, +3의 위치의 값에는 지금의 index를 미리 더해준다
Author And Source
이 문제에 관하여([백준/DP]9095), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@zzarbttoo/백준DP9095저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)