Imagine el siguiente reloj de 24 horas que puede controlarse con las teclas de flecha:
╔══╗ ┌──┐
║00║:│00│
╚══╝ └──┘
HH mm
Al presionar la flecha hacia arriba dos veces ( ↑↑
) aumentará la entrada de hora enfocada actualmente:
╔══╗ ┌──┐
║02║:│00│
╚══╝ └──┘
HH mm
Presionando la flecha derecha ( →
) enfocará la otra entrada.
┌──┐ ╔══╗
│02│:║00║
└──┘ ╚══╝
HH mm
Al presionar la flecha hacia abajo tres veces ( ↓↓↓
) ahora disminuirá esta entrada.
┌──┐ ╔══╗
│02│:║57║
└──┘ ╚══╝
HH mm
En pocas palabras:
- La flecha hacia arriba (
↑
) aumentará la entrada actualmente activa. - La flecha hacia abajo (
↓
) disminuirá la entrada activa. - La flecha derecha (
→
) moverá el foco a la entrada correcta. - La flecha izquierda (
←
) moverá el foco a la entrada izquierda. - El movimiento hacia arriba y hacia abajo se repetirá como se esperaba para una entrada de tiempo.
- El movimiento hacia la izquierda y hacia la derecha no gira.
El reto
El reloj comienza 00:00
con la entrada de hora activa (consulte el primer esquema). Dada una lista de comandos de entrada, genera el tiempo resultante en HH:mm
formato.
La entrada puede ser una cadena o una lista (o su idioma equivalente), donde las diferentes direcciones de entrada pueden ser una de las siguientes opciones:
↑↓←→
udlr
^v<>
- la tecla de flecha real presiona si su programa tiene una GUI
Se aplican lagunas estándar.
Casos de prueba
↑↑→↓↓↓ = 02:57
↓→↑←↑→↓ = 00:00
↓→→↓ = 23:59
←←←←→↑ = 00:01
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓→↓ = 23:59
0123
) facilitaría mucho el desafío en ciertos idiomas sin beneficiar a otros.