2294번

· 백준
코드#include using namespace std;int n,k,a[103],dp[10003];int main() { cin >> n >> k; for(int i = 0; i > a[i]; fill(dp, dp + 10003, 987654321); // 최소 개수를 찾아야 해서 큰 값으로 초기화 dp[0] = 0; // 0원을 만들 때 필요한 동전의 개수는 0개 for(int i = 0; i 풀이j원을 만들 때 필요한 동전의 개수 구하기 문제이다. dp[j]는 현재까지 구한 j원을 만드는 최소 동전 개수이다. dp[j - a[i]] + 1은 j - a[i]원을 만드는 최소 동전 개수에 a[i] 동전을 추가한 것이다. 따라서, dp[j]는 dp[j]와 dp[j - a[i]]..