문제 : https://www.acmicpc.net/problem/2293
평소 DP 문제들의 접근에 어려움을 느끼는데 점화식을 세우는 것이 어려운 것 같다.
이번 문제도 점화식 아이디어가 떠오르지 않아서 검색을 통해 공부하고 접근법을 이해하는 데에 노력하였다.
단순히 코드를 보는 것만으로 이해가 어려울 때엔 유튜브로 해설 영상을 통해 보다 쉽게 이해할 수 있다.
정답
n, k = map(int, input().split())
coins = [int(input()) for _ in range(n)]
coins.sort()
DP = [0] * (k + 1)
DP[0] = 1
for c in coins:
for i in range(c, k + 1):
DP[i] += DP[i - c]
print(DP[k])
'코딩테스트 > 백준 (python)' 카테고리의 다른 글
백준 / 2164번 / 카드2 / python 파이썬 (0) | 2024.10.31 |
---|---|
백준 / 14940번 / 쉬운 최단거리 / python 파이썬 (0) | 2024.10.17 |
백준 / 2579번 / 계단 오르기 / python 파이썬 (3) | 2024.10.08 |
백준 / 1931번 / 회의실 배정 / python 파이썬 (2) | 2024.10.02 |
백준 / 14888번 / 연산자 끼워넣기 / python 파이썬 / 백트래킹 (0) | 2024.09.28 |