Tantangannya sederhana, diberi waktu input sebagai string dalam salah satu format berikut:
hh
, hh:mm
atau hh:mm:ss
dengan 0 ≤ hh ≤ 23
, 0 ≤ mm ≤ 59
dan 0 ≤ ss ≤ 59
.
Keluarkan jam berapa saat ini menggunakan simbol-simbol berikut:
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
Dalam format berikut:
It is currently {Clock Face 1} with {mm} minutes and {ss} seconds until {Clock Face 2}.
Contoh (Termasuk semua kasus pinggiran):
Kasus hanya dengan jam ...
f("12") = "It is currently 🕛."
Kasus dengan jam dan menit ...
f("12:30") = "It is currently 🕛 with 30 minutes until 🕐."
Kasus hanya dengan jam, tetapi memiliki menit termasuk sebagai 00 ...
f("12:00") = "It is currently 🕛."
Kasus dengan jam, menit dan detik ...
f("12:30:30") = "It is currently 🕛 with 29 minutes and 30 seconds until 🕐."
Kasus dengan jam dan menit, tetapi memiliki detik termasuk sebagai 00 ...
f("12:30:00") = "It is currently 🕛 with 30 minutes until 🕐."
Kasus dengan jam dan menit, dengan kurang dari satu menit sampai satu jam berikutnya ...
f("12:59:59") = "It is currently 🕛 with 1 seconds until 🕐."
Anda tidak harus berubah dari jamak menjadi tunggal.
Kasus dengan jam dan menit, dengan 1 menit hingga jam berikutnya ...
f("12:59") = "It is currently 🕛 with 1 minutes until 🕐."
Anda tidak harus berubah dari jamak menjadi tunggal.
Kasus menggunakan waktu militer (ya Anda harus menangani ini) ...
f("23:30:30") = "It is currently 🕚 with 29 minutes and 30 seconds until 🕛."
Kasus tidak valid ...
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.
Anda tidak harus menyesuaikan dengan gaya keluaran apa pun untuk kasus yang tidak valid, kesalahan baik-baik saja.
Secara keseluruhan tantangannya agak sederhana, tetapi tampaknya cukup dinamis untuk menyenangkan menurut saya. Kode terpendek di sini adalah pemenang karena tidak ada banyak aspek variabel untuk kode selain panjang.
0 < hh < 24
, 0 < mm < 60
dan 0 < ss < 60
, maksud Anda 0 ≤ hh ≤ 23
, 0 ≤ mm ≤ 59
dan 0 ≤ ss ≤ 59
.
AM
atau memberi PM
tag?