Dalam xkcd-nya tentang format tanggal standar ISO 8601 Randall menyelinap di notasi alternatif yang agak aneh:
Angka-angka besar adalah semua digit yang muncul pada tanggal saat ini dalam urutan yang biasa, dan angka-angka kecil adalah indeks berbasis 1 dari kemunculan digit itu. Jadi contoh di atas mewakili 2013-02-27
.
Mari kita mendefinisikan representasi ASCII untuk tanggal seperti itu. Baris pertama berisi indeks 1 hingga 4. Baris kedua berisi angka "besar". Baris ketiga berisi indeks 5 hingga 8. Jika ada beberapa indeks dalam satu slot, mereka terdaftar bersebelahan dari yang terkecil hingga yang terbesar. Jika ada paling banyak m
indeks dalam slot tunggal (yaitu pada digit yang sama, dan di baris yang sama), maka setiap kolom harus memiliki m+1
karakter lebar dan rata kiri:
2 3 1 4
0 1 2 3 7
5 67 8
Lihat juga tantangan rekan untuk pertobatan yang berlawanan.
Tantangan
Diberi tanggal ISO 8601 ( YYYY-MM-DD
), mengeluarkan notasi tanggal xkcd yang sesuai.
Anda dapat menulis sebuah program atau fungsi, mengambil input melalui STDIN (atau alternatif terdekat), argumen baris perintah atau argumen fungsi dan mengeluarkan hasilnya melalui STDOUT (atau alternatif terdekat), nilai pengembalian fungsi atau parameter function (out).
Setiap tahun dari 0000
ke 9999
adalah input yang valid.
Ruang tambahan diizinkan, ruang utama tidak. Anda dapat secara opsional menampilkan satu baris baru.
Aturan standar kode-golf berlaku.
Uji Kasus
2013-02-27
2 3 1 4
0 1 2 3 7
5 67 8
2015-12-24
2 3 1 4
0 1 2 4 5
5 67 8
2222-11-11
1234
1 2
5678
1878-02-08
1 3 24
0 1 2 7 8
57 6 8
2061-02-22
2 4 1 3
0 1 2 6
5 678
3564-10-28
1 4 2 3
0 1 2 3 4 5 6 8
6 5 7 8
1111-11-11
1234
1
5678
0123-12-30
1 2 3 4
0 1 2 3
8 5 6 7