Le défi est simpliste, étant donné un temps d'entrée sous forme de chaîne dans l'un des formats suivants:
hh
, hh:mm
ou hh:mm:ss
avec 0 ≤ hh ≤ 23
, 0 ≤ mm ≤ 59
et 0 ≤ ss ≤ 59
.
Afficher l'heure à laquelle il utilise actuellement les symboles suivants:
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
Dans le format suivant:
It is currently {Clock Face 1} with {mm} minutes and {ss} seconds until {Clock Face 2}.
Exemples (y compris tous les cas marginaux):
Cas avec seulement des heures ...
f("12") = "It is currently 🕛."
Affaire avec heures et minutes ...
f("12:30") = "It is currently 🕛 with 30 minutes until 🕐."
Boîtier avec seulement des heures, mais avec des minutes incluses comme 00 ...
f("12:00") = "It is currently 🕛."
Boîtier avec heures, minutes et secondes ...
f("12:30:30") = "It is currently 🕛 with 29 minutes and 30 seconds until 🕐."
Affaire avec heures et minutes, mais avec secondes incluses comme 00 ...
f("12:30:00") = "It is currently 🕛 with 30 minutes until 🕐."
Affaire avec heures et minutes, avec moins d'une minute jusqu'à l'heure suivante ...
f("12:59:59") = "It is currently 🕛 with 1 seconds until 🕐."
Il n'est pas nécessaire de passer du pluriel au singulier.
Affaire avec heures et minutes, avec 1 minute à l'heure suivante ...
f("12:59") = "It is currently 🕛 with 1 minutes until 🕐."
Il n'est pas nécessaire de passer du pluriel au singulier.
Cas utilisant le temps militaire (oui, vous devez gérer cela) ...
f("23:30:30") = "It is currently 🕚 with 29 minutes and 30 seconds until 🕛."
Cas non valides ...
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.
Vous n'avez à vous conformer à aucun style de sortie pour les cas non valides, les erreurs sont correctes.
Dans l'ensemble, le défi est plutôt simpliste, mais semblait être suffisamment dynamique pour être amusant à mon avis. Le code le plus court ici est le gagnant car il n'y a pas beaucoup d'aspect variable du code autre que la longueur.
0 < hh < 24
, 0 < mm < 60
et 0 < ss < 60
, vous vouliez dire 0 ≤ hh ≤ 23
, 0 ≤ mm ≤ 59
et 0 ≤ ss ≤ 59
.
AM
ou PM
balises?