**Problem Statement:**
Given the required input arguments, write an efficient algorithm to solve the **Coin Change** problem. Implement the required logic as specified by standard definitions for this classic algorithmic challenge.
**Hint / Expected Approach:**
BFS or bottom-up DP, init with infinity
**Edge Cases to Consider:**
- (1) Amount = 0
- (2) No combination sums to amount
- (3) Coins larger than amount