알고리즘/BaekJoon

[9095]1,2,3 더하기

Eddy Jo 2017. 1. 11. 13:09

문제

https://www.acmicpc.net/problem/9095


풀이

다이나믹 프로그래밍으로 풀 수 있었다.

n일때 1,2,3을 더해서 n을 표현하는 방법의 가지수를 d[n]이라고 한다.

마지막에 올 수 있는 숫자는 1, 2, 3 인데 

1이 오면 d[n-1]

2가 오면 d[n-2]

3이 오면 d[n-3] 이 성립된다.


이를 바탕으로 점화식을 세워보면

d[n] = d[n-1] + d[n-2] + d[n-3]


top-down 방식



bottom-up 방식