Tantangannya adalah membuat program yang mengurutkan daftar kata-kata, hanya saja kata-katanya harus dalam urutan abjad acak yang diberikan.
Program Anda akan menerima serangkaian kata yang dipisahkan koma dan alfabet baru.
Program Anda akan menampilkan setiap kata dengan cara yang sama dalam urutan yang baru.
Contoh:
Memasukkan:
home,oval,cat,egg,network,green bcdfghijklmnpqrstvwxzaeiouy
Keluaran:
cat,green,home,network,egg,oval
Ini adalah kode-golf , jadi pemenangnya adalah orang dengan program terpendek.
Ini adalah tantangan pertama saya sehingga setiap perbaikan pertanyaan / tantangan dihargai.
Sort by custom alphabet
atau sesuatu yang lebih kreatif?Jawaban:
CJam,
261917 byteCobalah online.
Kasus cobaan
Bagaimana itu bekerja
sumber
Bash + coreutils, 37 byte
Keluaran:
sumber
Pyth , 19 karakter
Uji:
Penjelasan:
Pada dasarnya, ini mengurutkan potongan, dengan kunci daftar indeks karakter dalam string, kemudian bergabung dengan mereka di koma. Bisnis pembalikan lebih pendek dari pemisahan string lagi.
sumber
j\,_omx_zdNchczd\,
Ruby,
5350 byteSaya menggunakan Ruby
tr
untuk mengganti alfabet khususa-z
sebelum mengurutkan. Input melalui argumen baris perintah.sumber
$><<
untuk mencetak ke layar (Anda dapat menghapus ruang itu). Anda dapat memotong dua byte lainnya dengan menetapkan$*
variabel seperti:a,b=$*
dan menggunakan#sort_by
alih-alih#sort_by!
.*$*
(yang saya miliki pada awalnya dan yang panjangnya sama).Python, 131
Seharusnya ada banyak ruang untuk perbaikan.
sumber
a.find(c)
langsung.JavaScript (E6) 102
119Sortir dengan fungsi pemetaan 'M' berdasarkan alfabet dalam variabel 'a'
Dengan IO menggunakan popup (prompt + lansiran)
Sebagai fungsi (dapat diuji) dengan parameter 1 string, mengembalikan array string (92)
Uji di konsol FireFox / FireBug
Keluaran
sumber
(M(a)>M(b))-(M(a)<M(b))
M=w=>[...a].indexOf(w)
? Sayangnya, saya tidak dapat mengujinya sekarang.Clojure, 115 byte
Wow, ini dimulai dengan baik
(sort-by(fn[w](mapv(zipmap(sort %2)%2)w)))
tetapi kemudian saya menyadari bahwavec
tidak disortir dengan cara yang sama dengan string, dan interleaving koma-koma itu juga membutuhkan sejumlah kode.sumber