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:00con la entrada de hora activa (consulte el primer esquema). Dada una lista de comandos de entrada, genera el tiempo resultante en HH:mmformato.
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.