2018. 1. 1. 15:00, 알고리즘/BOJ
https://www.acmicpc.net/problem/2294
D[i]를 가치 i를 만들 수 있는 동전의 최소갯수라고 합시다.(만들 수 없는 경우에는 1000000을 넘는 값이 들어가있어야 함)
이 때 동전을 하나씩 추가하며 동전 i=0~n에 대해 j=0~k를 D[j] = min(D[j], D[j-coin[i]]+1)으로 갱신해줍니다. 그러면 최종적으로 D[k]에는 동전을 전부 사용했을 때 가치 k를 만들 수 있는 동전의 최소갯수가 저장됩니다. 만약 1000000을 넘는 값이 들어가있을 경우 -1로 바꾸어 출력하면 됩니다.
'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ] 11403번: 경로 찾기 (0) | 2018.01.01 |
---|---|
[BOJ] 11052번: 붕어빵 판매하기 (0) | 2018.01.01 |
[BOJ] 2133번: 타일 채우기 (0) | 2018.01.01 |
[BOJ] 11727번: 2×n 타일링 2 (0) | 2018.01.01 |
[BOJ] 11053번: 가장 긴 증가하는 부분 수열 (0) | 2018.01.01 |
[BOJ] 1697번: 숨바꼭질 (9) | 2018.01.01 |
Comments