Tantangan ini didasarkan pada masalah yang dijelaskan dalam D. Parnas, Mengenai kriteria yang akan digunakan dalam penguraian sistem menjadi modul , dan diuraikan dalam J. Morris, Pemrograman Nyata dalam Bahasa Fungsional .
Tulis program atau fungsi yang mengambil daftar judul buku dari stdin
atau sebagai argumen, dalam format yang masuk akal dan nyaman untuk bahasa Anda. Sebagai contoh,
Green Sleeves
Time Was Lost
atau
("Green Sleeves";"Time Was Lost")
Kembalikan atau cetak ke stdout
daftar kata kunci yang disusun menurut abjad, yang menunjukkan konteksnya dalam judul asli dengan melampirkan setiap kata kunci dalam kurung siku ( <
dan >
). Seperti halnya input, output dapat dalam format yang masuk akal yang sesuai untuk bahasa Anda - baris yang dipisahkan oleh baris baru, daftar string, dll:
<Green> Sleeves
Time Was <Lost>
Green <Sleeves>
<Time> Was Lost
Time <Was> Lost
Judul akan terdiri dari serangkaian kata kunci yang dipisahkan oleh satu ruang. Kata kunci hanya akan berisi karakter alfabet. Kata kunci harus diurutkan secara leksikografis . Judul akan unik, dan kata kunci akan unik dalam setiap judul tetapi kata kunci yang sama mungkin ada di beberapa judul. Jika kata kunci ada di lebih dari satu judul, output harus mencantumkan setiap penampilan dalam urutan acak . Misalnya, diberikan input ini:
A Dugong
A Proboscis
Output yang valid adalah:
<A> Proboscis
<A> Dugong
A <Dugong>
A <Proboscis>
Atau:
<A> Dugong
<A> Proboscis
A <Dugong>
A <Proboscis>
Ini adalah kode-golf - pemenangnya adalah solusi terpendek dalam byte. Celah standar tidak diijinkan.