Hebatnya, tugas sederhana ini sepertinya belum ada, jadi ...
Tugas Anda adalah menulis program yang memakan waktu 12 jam, dan mengubahnya menjadi "waktu militer", atau format waktu 24 jam.
Masukan akan dalam bentuk:
HH:MM am/pm
Meskipun sedikit variasi diperbolehkan:
Ruang yang memisahkan am / pm dari sisa waktu adalah opsional.
Bagian terakhir dapat berupa "am" / "pm", atau "a" / "p".
Kapitalisasi apa pun baik-baik saja.
Output akan menjadi waktu yang diinput, diubah menjadi format 24 jam. Ini bisa berupa angka, atau string.
Untuk input dan output:
0s di tempat pertama adalah opsional. 0s di 3 tempat terakhir adalah wajib.
pembatas yang memisahkan jam dan menit dapat berupa ":", "" (spasi), atau tidak sama sekali.
Catatan lain:
Tengah malam dapat dinyatakan sebagai 0000, atau 2400.
Midnight akan dianggap "am", sedangkan siang akan dianggap "pm".
Program Anda bisa berupa fungsi, atau program penuh, dan harus mengembalikan hasilnya, atau mengeluarkannya ke stdout. Trailing whitespace tidak apa-apa.
Contoh (Anda tidak diharuskan mendukung setiap format):
12:00am -> 0000
1200 pm -> 1200
1234Am -> 00:34
134a -> 134
01:34PM -> 13 34
1234pm -> 1234
Ini adalah kode golf, sehingga jumlah byte terkecil menang. Karena ini sangat sepele untuk dipecahkan dengan menggunakan built-in, akan menyenangkan untuk melihat beberapa kode yang secara manual menyelesaikan ini (tetapi penggunaan built-in baik-baik saja).
Hanya untuk memperjelas, Anda tidak diharuskan mendukung setiap format yang memungkinkan. Mendukung hanya satu input dan satu format output (pilihan Anda) baik-baik saja. Namun saya ingin membatasi format seperti diuraikan di atas (yang sudah cukup gratis). {1134,'pm'}
, misalnya, tidak dapat diterima.
01:54pm
akan berhasil, tetapi 1:54pm
tidak?