Todos los retos

Reto 23

¿Quién debe qué después del viaje?

Seis amigos pagaron cosas distintas en un viaje. Calcula las transferencias mínimas para que todos queden en paz.

IntermedioComplejidad:Tiempo: 30–40 min

Tu tarea

Seis amigos pagaron cosas distintas en un viaje. Calcula quién debe pagar a quién, con el menor número de transferencias que lo deje todo saldado.

Tu tarea extra

Tres de los gastos se pagaron en dólares o en libras. Conviértelos al tipo del BCEEl tipo de cambio de referencia que publica cada día el Banco Central Europeo. Si pides una fecha pasada, siempre da el mismo resultado. de ese día antes de saldar y enseña cómo cambia el resultado.

Ejemplos de uso

  • Seis amigos de vuelta de una semana fuera, con diez tickets y ninguna gana de hacer cuentas.
  • Compañeros de piso repartiendo un mes de compra común sin una app que les pida los datos del banco.
  • Cualquier tarea en la que un montón de números tenga que convertirse en una lista corta de acciones: stock que reponer, facturas que reclamar, turnos que cambiar.

Antes de empezar

  1. 01

    Regístrate en n8n Cloud o abre tu espacio de n8n. No necesitas ninguna otra cuenta.

  2. 02

    Los tickets son un archivo de práctica: trip-expenses.json tiene seis personas y diez gastos, cada uno con fecha, quién pagó, importe y moneda.

  3. 03

    Los tipos de cambio del bonus vienen de la API Frankfurter, gratuita, sin clave y con los tipos diarios del Banco Central Europeo. Como el viaje ya pasó, los tipos no cambian nunca.

  4. 04

    Escribirás unas líneas de JavaScript en el nodo Code. La solución son unas quince líneas, y todos los demás pasos son nodos normales.

Qué debe hacer el workflow

  1. 01

    El workflow muestra una lista corta de transferencias, cada una con quién paga, a quién y cuánto, y nadie envía y recibe dinero a la vez.

  2. 02

    Con los gastos en euros el total es de 2261,50 euros, una parte justaEl coste total dividido entre el número de personas. Al final todos deberían haber puesto esa cantidad, da igual quién sacara la tarjeta cada día. de 376,92 por persona, y cinco transferencias lo saldan; la mayor es Chiara pagando 376,92 a Bruno.

  3. 03

    Chiara no pagó nada en euros y aun así entra en el reparto: quien no pagó nada no puede quedarse fuera de la parte justaEl coste total dividido entre el número de personas. Al final todos deberían haber puesto esa cantidad, da igual quién sacara la tarjeta cada día.. Bonus: con los gastos en dólares y libras convertidos el total pasa a 3226,98 y la mayor transferencia es Dmytro pagando 353,43 a Bruno.

Solución

Ver la respuesta del reto de workflow

Muestra el workflow completo solo cuando quieras compararlo con el tuyo.

Enviar como resuelto

¿Listo para enviar?

Envía el reto cuando el equipo tenga un workflow funcional que mostrar.

Solución

¿Mostrar la solución del workflow?

Esto mostrará el workflow completo de este reto. ¿Seguro que quieres continuar?

Revisión del mentor

Busca a un mentor y pídele que revise tu workflow.

Muéstrale el workflow funcionando. Cuando lo apruebe, recoge el globo de este reto.