Tugas
- Ambil string input yang dipisahkan oleh ruang.
- Urutkan kata-kata berdasarkan abjad.
- Cetak secara vertikal dalam 3 kolom yang dipisahkan oleh spasi.
Tantangan
- Ketinggian tiga kolom harus seberat mungkin.
- Ketiga kolom harus dibiarkan rata.
Ini adalah kode-golf , jadi kode terpendek menang!
Contoh
Jika inputnya adalah:
"cat caterpillar pie frog elephant pizza",
Outputnya harus:
cat elephant pie
caterpillar frog pizza
Waspadai kasus, jika inputnya adalah:
"a b c d e f g"
Harus dicetak sebagai:
a c e
b d f
g
# or
a d f
b e g
c
# and not
a d g
b e
c f
Jawaban:
Sekam ,
2417 byteCobalah online!
Penjelasan
Ini adalah tantangan yang sangat sulit, karena Husk saat ini tidak memiliki builtin untuk memecah daftar menjadi sejumlah bagian tertentu.
sumber
Jeli , 6 byte
Cobalah online!
sumber
a b c d e f g
kasus ini, dan saya melakukan tes ekstensif lainnya karena saya juga punya perasaan itu. Oh, dan kependekannya berasal dariG
(Format as G rid.) Builtin.Python 3 , 148 byte
-6 byte berkat ovs.
Cobalah online!
Mengkhawatirkannya.Semua yang saya coba membuat hasilnya miring ...sumber
Mathematica, 115 byte
coba di wolfram sandbox
rekatkan kode berikut dan tekan shift + enter
sumber
Perl 5 , 134 +1 (
-a
) = 135 byteCobalah online!
sumber
05AB1E , 8 byte
Cobalah online!
sumber
Javascript
181175 bytesumber
J , 73 byte
Saya bisa menjelaskan kekacauan ini nanti jika seseorang tertarik.
Cobalah online!
sumber
Arang ,
6564 byteCobalah online! Tautan adalah untuk mengucapkan versi kode. Simpan 2 byte jika saya tidak harus menangani kasus kurang dari 3 kata. Mungkin ada "eval" penyortiran yang harus saya gunakan ... Penjelasan:
Pisahkan input pada spasi.
Sortir susunannya.
Ulangi lebih dari tiga irisan array yang kira-kira sama. (
I1
seharusnya benar-benar¦¹
.)Gabungkan irisan dengan baris baru dan cetak tanpa menggerakkan kursor.
Jika irisan tidak kosong maka gerakkan ke kanan dengan satu lebih dari panjang kata terpanjang dalam irisan.
sumber
358 byte JS yang diperkecil:
sumber
GNU sed , 92 + 1 = 93 byte
+1 byte untuk
-r
bendera.Saya belum bermain golf ini sama sekali, tetapi ternyata jauh lebih sederhana dari yang saya harapkan.
Cobalah online!
sumber
Bourne shell, 172 byte
Lebih mudah dibaca jika diformat secara konvensional:
Pada harga pemindaian input sekali per kolom, ia tidak menggunakan array. Program awk yang lebih kompleks dapat membuka 3 file (satu untuk setiap kata ke-N), memproses input dalam satu pass. Kemudian mereka dapat digabungkan dan dicetak menggunakan baris terakhir yang sama.
Variabel
N
tidak benar-benar dibutuhkan; untuk harga 4 byte, kami menyimpan pemindaian input 3 kali lebih banyak.sumber