
- Por Riley Wallace
- ·
- Publicado 10-jul-2025 14:47:29
Radar de Palíndromos
La tecnología más reciente de radares de la NASA es capaz de capturar la forma de objetos voladores en forma de cadenas de caracteres. Como todos..
El objetivo es construir un cajero automático y nuestra primera tarea es crear el software que desglosará qué billetes y monedas debe recibir el cliente cuando intente hacer un retiro.
El contenido del cajero es:
| Valor | Tipo |
|-------|---------|
| 500 | billete |
| 200 | billete |
| 100 | billete |
| 50 | billete |
| 20 | billete |
| 10 | billete |
| 5 | billete |
| 2 | modena |
| 1 | moneda |
Entrada:
Como usuario
Quiero retirar 1725€
Salida:
2 billetes de 200
1 billete de 20
1 billete de 10
2 monedas de 2
Obsesión primitiva y pareja ajustada a la presentación
public interface ATM {
public String withdraw(int quantity);
}
Devuelve una lista de DTO u Objetos de Valor
public interface ATM {
public List<Money> withdraw(int quantity);
}
Outside-in
public interface ATM {
public void withdraw(int quantity);
}
El cajero automático tiene la siguiente distribución de dinero.
El estado inicial de cualquier cajero automático
| Valor | Tipo | Número de unidades|
|-------|---------|-------------------|
| 500 | billete | 2 |
| 200 | billete | 3 |
| 100 | billete | 5 |
| 50 | billete | 12 |
| 20 | billete | 20 |
| 10 | billete | 50 |
| 5 | billete | 100 |
| 2 | moneda | 250 |
| 1 | moneda | 500 |
Estado inicial del cajero automático:
| Valor | Tipo | Número de unidades|
|-------|---------|-------------------|
| 500 | billete | 2 |
| 200 | billete | 3 |
| 100 | billete | 5 |
| 50 | billete | 12 |
| 20 | billete | 20 |
| 10 | billete | 50 |
| 5 | billete | 100 |
| 2 | moneda | 250 |
| 1 | moneda | 500 |
Entrada
Como usuario
Quiero retirar 1725€
Salida
2 billetes de 500
3 billetes de 200
1 billetes de 100
1 billetes de 20
1 billete de 5
Estado del cajero automático después de la salida
| Valor | Tipo | Número de unidades |
|-------|---------|---------------------|
| 500 | billete | 0 |
| 200 | billete | 0 |
| 100 | billete | 4 |
| 50 | billete | 12 |
| 20 | billete | 19 |
| 10 | billete | 50 |
| 5 | billete | 99 |
| 2 | moneda | 250 |
| 1 | moneda | 500 |
Entrada
Como usuario
He retirado 1825€
Salida
4 billetes de 100
12 billetes de 50
19 billetes de 20
44 billetes de 10
1 billetes de 5
Estado del cajero automático después de la salida
| Valor | Tipo | Número de unidades|
|-------|---------|-------------------|
| 500 | billete | 0 |
| 200 | billete | 0 |
| 100 | billete | 0 |
| 50 | billete | 0 |
| 20 | billete | 0 |
| 10 | billete | 6 |
| 5 | billete | 98 |
| 2 | moneda | 250 |
| 1 | moneda | 500 |
Los ejemplos gráficos que ves son una referencia de cómo funciona la kata, no tienes que aplicarlos si no quieres.
La tecnología más reciente de radares de la NASA es capaz de capturar la forma de objetos voladores en forma de cadenas de caracteres. Como todos..
Como soy una persona olvidadiza, necesito un método que me ayude a recordar mi rutina matutina. Por eso he creado un programa que, según la hora del..
Historia: Durance ha encontrado un libro de magia en una de sus aventuras y ha decidido aprender a encantar sus armas. Debido a la naturaleza..
Suscríbete a nuestra newsletter para que podamos hacerte llegar recomendaciones de expertos y casos prácticos inspiradores