문제 출처
1. 문제설명
- 각 테스트 케이스마다 정수 n이 주어진다.
- 정수
n
이 주어졌을 때, n을 1,2,3의 합으로 나타내는 방법의 수를 구하라
2. 알고리즘 설계
- 4까지의 경우는 다음과 같다.
n=1
n=2
n=3
n=4
n
을 1, 2, 3의 합으로 만드는 방법
- 1 :
n-1
을 1로 만드는 경우
- 2 :
n-2
를 1 또는 2로 만드는 경우
- 2를 뺏으니 1+1, 2가 들어올 수 있는 것
- 3 :
n-3
을 1, 2 또는 3으로 만드는 경우
3. 로직
- 1, 2, 3을 만드는 경우에 대한 배열 선언
- 편의상
[4]
- 최대
10,000
이므로 편의상 [10001]
n
이 1,2,3일 때의 개수를 미리 저장해두고,
4. 전체 코드
5. 소감
- 2차원 DP
- 아직 몇 문제 풀어보지 않아서
- 2차원으로 푸는 게 너무 낯설다
- 점화식을 생각해내면 금방 풀 수 있는 문제