https://www.acmicpc.net/problem/15989 문제이해 정수 n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력. 풀이 문제를 보자마자 백준 2293번 동전 1 문제와 비슷하다고 느껴서 DP로 금방 접근했다.
그리고 이번 문제에서는 동전이 1, 2, 3으로 주어지기 때문에 더 쉬운 문제라고 생각한다. 코드 import sys T = int(sys.stdin.readline()) ret_list = [] for _ in range(T): n = int(sys.stdin.readline()) ret_list.append(n) dp = [0] * (max(ret_list)+1) dp[0] = 1 for k in range(1, 4): for i in range(1, (max(ret_list)+1)): if i >= k: dp[i] += dp[i-k] for i in ret_list: print(dp[i]) 후기 이전에 풀어봤던 문제랑 비슷해서 빠르게 문제 해결방법...
#
15989
#
백준
원문 링크 : [백준 15989] 1, 2, 3 더하기 4