Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- server
- sorting
- String
- JavaScript
- web
- programmers
- udemy
- 백준
- 인프런
- 생활코딩
- Math
- DP
- greedy
- 따라하면서 배우는 C언어
- Algorithm
- php
- 종만북
- BFS
- 따라하며 배우는 C언어
- BOJ
- 따배씨
- C언어
- dfs
- BASIC
- Python
- Cleancode
- C
- graph
- Algospot
- 정수론
Archives
- Today
- Total
몽상실현개발주의
[BOJ] 9095 / 1, 2, 3 더하기 / Python 본문
[BOJ] 9095 / 1, 2, 3 더하기 / Python
9095번: 1, 2, 3 더하기
각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다.
www.acmicpc.net
풀이
제한된 조건으로 경우의 수를 구하는 문제이다.
경우의 수를 발생 시키는 일정한 규칙을 찾고 규칙에서 점화식을 찾아 해결 하였다.
N = 1 -> 1
N = 2 -> 2
N = 3 -> 4
N = 4 -> 7
N = 5 -> 13
위의 규칙으로 구한 점화식은
dp(N) = dp(N-1) + dp(N-2) + dp(N-3)
점화식을 이용하여 Tabluation 으로 문제를 해결 하였다.
T = int(input())
for _ in range(T):
N = int(input())
dp = [0, 1, 2, 4] + [0] * N
for i in range(4, N+1):
dp[i] = dp[i-1] + dp[i-2] + dp[i-3]
print(dp[N])
'Algorithm PS > BOJ' 카테고리의 다른 글
[BOJ] 11058 / 오르막 수 / Python (0) | 2021.05.11 |
---|---|
[BOJ] 10844 / 쉬운 단계 수 / Python (0) | 2021.05.10 |
[BOJ] 11727 / 2×n 타일링2 / Python (0) | 2021.05.10 |
[BOJ] 11726 / 2×n 타일링 / Python (0) | 2021.05.09 |
[BOJ] 1463 / 1로 만들기 / Python (0) | 2021.05.07 |
Comments