검색결과 리스트
Make Change Problem에 해당되는 글 1건
- 2012.08.01 Dynamic Programming - Make Change Problem 2
글
Dynamic Programming - Make Change Problem
프로그래밍
2012. 8. 1. 09:49
N 개 타입의 동전으로 어떠한 금액을 만드는 것과 관련된 문제이다.
여기서 몇 가지 문제를 생각할 수 있는데,
1. Frobenius coin problem
이 문제는 NP-hard 문제로, GCD(최대공약수)가 1인 N 개 타입의 동전으로 만들 수 없는,
가장 큰 수를 찾는 문제이다. 이 수를 Frobenius(프로베니우스) number 라 한다.
하지만 N이 1,2,3 일 때는 다항시간에 찾을 수 있는 공식이 나와있다.
더 자세
한 내용은 위키피디아 http://en.wikipedia.org/wiki/Coin_problem 참고.
2. N 개 타입의 동전으로 어떠한 금액을 만들 때, 가장 적은 수의 동전을 사용했을 때의 동전의 수.
(단 N >= 1 이고 N[1] = 1 )
요 문제는 Greedy 한 방법으로 풀어도 되지만, DP 방법으로 풀 수도 있다.
3. N 개 타입의 동전으로 어떠한 금액을 만들 때, 가능한 동전 조합의 경우의 수를 구하는 경우.
(단 N >= 1 이고 N[1] = 1 )
이 문제는 약간 어려웠던거 같다. 그냥 생각만으로는 잘 안되서,
아주 간단한 케이스를 가지고 종이에 적어가면서 확인했다.
조합의 수를 구하는 문제는 좀 헷갈리긴 했지만,
생각을 좀 해보고, 간단한 케이스를 확인해 보면서 찾을 수 있었다.
반응형
'프로그래밍' 카테고리의 다른 글
Dynamic Programming - Building Bridges, Balanced Partition. (2) | 2012.08.06 |
---|---|
Dynamic Programming - Longest Increasing Subsequence, Box Stacking (0) | 2012.08.03 |
Dynamic Programming - Maximal Contiguous Subsequent Sum Problem (2) | 2012.07.31 |
Dynamic Programming - Knapsack Problem (0) | 2012.07.31 |
Eclipse CDT + Cygwin 으로 C/C++ 개발 환경 설정 관련... (0) | 2012.06.29 |