top of page
Buscar

Challenge: Conseguir el menor número de monedas para cambio

  • Foto del escritor: Patricia Vazquez
    Patricia Vazquez
  • 6 abr 2020
  • 1 Min. de lectura

Actualizado: 26 abr 2020

Hoy me he enfrentado a un challenge que he visto que se repite mucho en internet, y es encontrar un algoritmo para devolver el cambio con el menor número de monedas.


Después de hacerlo de varias maneras con bucles que daban un time out para números muy grandes, encontré la siguiente solución


Donde coins es el array de monedas, el cual también podría ser un input. ¿Mejoraríais algo más? Dejadme en vuestros comentarios y a ver si puedo hacer un algoritmo mejor.


function findMinCoinsCount(amount) {
  var coins = [20, 10, 5, 2, 1];
  var res = 0;
  if (amount === 0)
    return res;
  
  for (var i = 0; i < coins.length; i++) {
    if (coins[i] <= amount) {
      var coinRes = parseInt((amount / coins[i]), 10)
      res = res + coinRes;
      amount = amount - coinRes * coins[i];
      if (amount === 0)
        return res;
    }
  }

}



 
 
 

1 Comment


Marc Torres
Apr 06, 2020

Muy útil, es un algoritmo necesario para la mayoría de establecimientos y sus máquinas que constantemente tienen que devolver cambio.

Like
Post: Blog2_Post

Subscribe Form

Thanks for submitting!

  • Twitter
  • LinkedIn

©2020 por pavazmoiscoding. Creada con Wix.com

bottom of page