[Baekjoon] #9095 - 1, 2, 3 더하기PS/백준2022. 2. 11. 18:08
Table of Contents
728x90
⭐️ DP에서는 반복되는 부분을 찾아서 식으로 만들어내는 것이 중요하다.
⭐️ 문제에서 주어진 것을 100% 활용해야하고 반드시 작은 것부터 시도할 수 있는 부분까지 차근차근 적어보자
1 => 1 개 |
|
2 => 2개 |
|
3 => 4개 |
|
4 => 7개 |
|
5 => 13개 |
|
4를 만들 수 있는 1, 2, 3의 조합은 1을 만들 수 있는 조합의 개수 + 2를 만들 수 있는 조합의 개수 + 3을 만들 수 있는 조합의 개수이다.
5를 만들 수 있는 조합의 개수는 (2 + 3 + 4)를 만들 수 있는 조합의 개수이므로 점화식을 만들 수 있다.
sol(n) = sol(n-1) + sol(n-2) + sol(n-3)
t = int(input())
s = []
def sol(n):
if n == 1:
return 1
elif n == 2:
return 2
elif n == 3:
return 4
else:
return sol(n-1) + sol(n-2) + sol(n-3)
for i in range(t):
n = int(input())
s.append(sol(n))
for i in s:
print(i)
728x90
'PS > 백준' 카테고리의 다른 글
[Baekjoon] #10994 - 별 찍기 - 19 (0) | 2022.02.19 |
---|---|
[Beakjoon] #14916 - 거스름돈 (0) | 2022.02.17 |
[Baekjoon] #1966 - 프린터 큐 (0) | 2022.02.14 |
[Baekjoon] #11057 - 오르막 수 (0) | 2022.02.10 |
[Baekjoon] #13335 - 트럭 (0) | 2022.02.09 |
@TTOII :: 뭉게뭉게 클라우드
영차영차 성장 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!