Diberikan string huruf dan serangkaian kata, output urutan kata-kata sehingga mereka dapat ditemukan dalam string dengan menjatuhkan huruf yang tidak diperlukan. Kata-kata dapat muncul lebih dari satu kali di kumpulan kata. String input dan semua kata akan terdiri dari 1 hingga 1000 huruf kecil masing-masing. Huruf yang akan dijatuhkan dapat muncul di dalam kata-kata atau di antara kata-kata.
Program atau fungsi Anda dapat menerima string huruf dan kata-kata sebagai daftar, string, atau dari STDIN, dan harus menampilkan semua kata dalam urutan yang benar sebagai daftar atau string output. Jika ada lebih dari satu solusi yang benar, hanya output salah satunya. Jika tidak ada solusi yang mungkin benar, hasilkan daftar kosong atau string kosong.
Contoh:
dogcatfrog cat frog dog
-> dog cat frog
xxcatfixsxhingonxgrapexxxfishingcxat cat grape catfish fishing
-> catfish grape fishing cat
dababbabadbaccbcbaaacdacdbdd aa bb cc dd ba ba ba ab ac da db dc
-> da ab ba ba ba cc bb aa ac dc db dd
flea antelope
->
(no solution)
Ini golf kode. Jumlah byte terendah menang.
Sunting: Dijelaskan bahwa karakter tambahan dapat di dalam kata-kata.
ccsebelum bbtapi bbdan ccsubstring hanya muncul sekali dan bbsubstring muncul pertama kali.
ccbcbbagian string kita output cckemudian output bbsetelah menjatuhkan tengah c.