El desafío es simplista, dado un tiempo de entrada como una cadena en cualquiera de los siguientes formatos:
hh
, hh:mm
o hh:mm:ss
con 0 ≤ hh ≤ 23
, 0 ≤ mm ≤ 59
y 0 ≤ ss ≤ 59
.
Salida a qué hora está usando los siguientes símbolos:
AA LABEL FOR CHARACTER CODE POINT HEXADECIMAL
== ==================== ========== ===========
🕐 Clock Face 01 Oclock 128336 0x1F550
🕑 Clock Face 02 Oclock 128337 0x1F551
🕒 Clock Face 03 Oclock 128338 0x1F552
🕓 Clock Face 04 Oclock 128339 0x1F553
🕔 Clock Face 05 Oclock 128340 0x1F554
🕕 Clock Face 06 Oclock 128341 0x1F555
🕖 Clock Face 07 Oclock 128342 0x1F556
🕗 Clock Face 08 Oclock 128343 0x1F557
🕘 Clock Face 09 Oclock 128344 0x1F558
🕙 Clock Face 10 Oclock 128345 0x1F559
🕚 Clock Face 11 Oclock 128346 0x1F55A
🕛 Clock Face 12 Oclock 128347 0x1F55B
En el siguiente formato:
It is currently {Clock Face 1} with {mm} minutes and {ss} seconds until {Clock Face 2}.
Ejemplos (incluidos todos los casos marginales):
Estuche con solo horas ...
f("12") = "It is currently 🕛."
Estuche con horas y minutos ...
f("12:30") = "It is currently 🕛 with 30 minutes until 🕐."
Estuche con solo horas, pero tiene minutos incluidos como 00 ...
f("12:00") = "It is currently 🕛."
Caso con horas, minutos y segundos ...
f("12:30:30") = "It is currently 🕛 with 29 minutes and 30 seconds until 🕐."
Estuche con horas y minutos, pero tiene segundos incluidos como 00 ...
f("12:30:00") = "It is currently 🕛 with 30 minutes until 🕐."
Caso con horas y minutos, con menos de un minuto hasta la próxima hora ...
f("12:59:59") = "It is currently 🕛 with 1 seconds until 🕐."
No tiene que cambiar de plural a singular.
Caso con horas y minutos, con 1 minuto para la próxima hora ...
f("12:59") = "It is currently 🕛 with 1 minutes until 🕐."
No tiene que cambiar de plural a singular.
Caso usando tiempo militar (sí, debe manejar esto) ...
f("23:30:30") = "It is currently 🕚 with 29 minutes and 30 seconds until 🕛."
Casos inválidos ...
f("PPCG") = This cannot occur, you are guaranteed a valid format by the definition of the problem.
f(66:66:66) = This cannot occur, you are guaranteed valid numbers by the definition of the problem.
f(24:60:60) = This cannot occur, you are guaranteed valid numbers by the definition of the problem.
No tiene que ajustarse a ningún estilo de salida para casos no válidos, los errores están bien.
En general, el desafío es bastante simplista, pero en mi opinión parece ser lo suficientemente dinámico como para ser divertido. El código más corto aquí es el ganador ya que no hay mucho aspecto variable en el código que no sea la longitud.
0 < hh < 24
, 0 < mm < 60
y 0 < ss < 60
, querías decir 0 ≤ hh ≤ 23
, 0 ≤ mm ≤ 59
y 0 ≤ ss ≤ 59
.
AM
o las PM
etiquetas?