Combinaciones de monedas

Dada una cantidad de dinero y un arreglo de denominaciones de monedas, crea una función que cuente cuántas formas diferentes hay de dar cambio con el dinero dado.

Ejemplos

coinsCombinations(4, [1, 2]) ➞ 3
// 1+1+1+1 = 4
// 1+1+2 = 4
// 2+2 = 4

coinsCombinations(10, [5, 2, 3]) ➞ 4

coinsCombinations(11, [5, 7]) ➞ 0

Notas

  • El orden de las monedas no importa (es decir, 1+1+2 == 2+1+1).
  • Tienes una cantidad infinita de monedas.