Stellen Sie sich die folgende 24-Stunden-Uhr vor, die mit den Pfeiltasten gesteuert werden kann:
╔══╗ ┌──┐
║00║:│00│
╚══╝ └──┘
HH mm
Zweimaliges Drücken des Aufwärtspfeils ( ↑↑) erhöht die aktuell fokussierte Stundeneingabe:
╔══╗ ┌──┐
║02║:│00│
╚══╝ └──┘
HH mm
Durch Drücken des Rechtspfeils ( →) wird die andere Eingabe fokussiert.
┌──┐ ╔══╗
│02│:║00║
└──┘ ╚══╝
HH mm
Durch dreimaliges Drücken des Abwärtspfeils ( ↓↓↓) wird diese Eingabe nun verringert.
┌──┐ ╔══╗
│02│:║57║
└──┘ ╚══╝
HH mm
Kurz gesagt:
- Der Aufwärtspfeil (
↑) erhöht den aktuell aktiven Eingang. - Der Abwärtspfeil (
↓) verringert die aktive Eingabe. - Der rechte Pfeil (
→) verschiebt den Fokus auf den rechten Eingang. - Der linke Pfeil (
←) verschiebt den Fokus auf den linken Eingang. - Die Auf- und Abbewegung wird wie erwartet für eine Zeiteingabe wiederholt.
- Linke und rechte Bewegung laufen nicht umher.
Die Herausforderung
Die Uhr beginnt bei 00:00aktivem Stundeneingang (siehe erstes Schema). Geben Sie bei einer Liste von Eingabebefehlen die resultierende Zeit im HH:mmFormat aus.
Die Eingabe kann entweder eine Zeichenfolge oder eine Liste (oder eine Ihrer Sprache entsprechende) sein, wobei die verschiedenen Eingaberichtungen eine der folgenden Optionen sein können:
↑↓←→udlr^v<>- Die tatsächliche Pfeiltaste wird gedrückt, wenn Ihr Programm über eine grafische Benutzeroberfläche verfügt
Es gelten Standardlücken.
Testfälle
↑↑→↓↓↓ = 02:57
↓→↑←↑→↓ = 00:00
↓→→↓ = 23:59
←←←←→↑ = 00:01
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓→↓ = 23:59

0123würde die Herausforderung in bestimmten Sprachen erheblich erleichtern, während andere davon nicht profitieren.