동전 교환
n가지 종류의 동전을 갖고 가치의 합이 k원이 되는 경우의 수.
dp[0] = 1;
for (int i = 0; i < n; i++) {
for (int j = coin[i]; j <= k; j++) {
dp[j] = dp[j] + dp[j - coin[i]];
}
}
n가지 종류의 동전을 갖고 가치의 합이 k원이 되도록한다. 이때 동전의 개수는 최소가 되려고 한다.
Arrays.fill(dp, 10001);
dp[0] = 0;
for (int i = 0; i < n; i++) {
for (int j = coin[i]; j <= k; j++) {
dp[j] = Math.min(dp[j], dp[j - coin[i]] + 1);
}
}
LCS
'Algorithm > 알고리즘 예제코드' 카테고리의 다른 글
[JS]MaxHeap (0) | 2022.02.23 |
---|---|
부분합 (0) | 2021.09.28 |
소수판별 (0) | 2021.09.16 |
Sort (0) | 2021.09.10 |
정규식 (0) | 2021.08.25 |