Untuk kalender Gregorian, format tanggal bervariasi dari satu negara ke negara lain. Ada tiga format utama yang diakui:
YY-MM-DD
(big-endian)DD-MM-YY
(little-endian)MM-DD-YY
(mid-endian)
Tugas Anda adalah menulis sebuah program yang, mengingat string input yang mewakili tanggal, menampilkan semua format tanggal yang memungkinkan string ini dapat ditafsirkan sebagai tanggal.
Aturan
- Tanggal input dalam format
xx-xx-xx
, di mana setiap bidang adalah dua digit dan nol-empuk. - Tanggal selalu valid (jadi Anda tidak bisa mendapatkan hal-hal seperti 14-13-17)
- Tanggal selalu setidaknya salah satu format di atas (jadi Anda tidak bisa mendapatkan hal-hal seperti 17-14-11)
- Karena kita sebenarnya berada di dunia paralel, ada 31 hari untuk setiap bulan dalam setahun , dan akibatnya tidak ada tahun kabisat
- Tanggalnya adalah antara 01 Januari 2001 dan 31 Desember 2099
- Jika hanya ada satu format untuk tanggal, kode harus mencetak hanya itu (hanya trailing baris baru yang dibolehkan)
- Jika ada beberapa format untuk tanggal, mereka harus dipisahkan oleh koma, spasi, baris baru, atau kombinasi dari mereka
- Anda harus menampilkan nama persis format. Tidak diperbolehkan menggunakan nilai arbitrer yang berbeda.
- Tidak ada karakter yang memimpin atau mengekstraksi selain dari ruang jejak yang diizinkan
- Outputnya harus huruf kecil
- Anda tidak diizinkan menggunakan fungsi tanggal atau kalender bawaan
- Format output tidak harus disortir
Contohnya
Input Output
30-05-17 big-endian, little-endian
05-15-11 middle-endian
99-01-02 big-endian
12-11-31 big-endian, little-endian, middle-endian
02-31-33 middle-endian
Ini adalah kode-golf sehingga kode terpendek dalam byte menang. Penjelasan didorong.
there are 31 days for every month of the year, and consequently no leap years
Jadi ini berarti ada pustaka tanggal secara efektif tidak berguna untuk ini?