Bu zorluk, D. Parnas, sistemlerin modüllere ayrıştırılmasında kullanılacak ölçütler üzerinde ve J. Morris, İşlevsel Dilde Gerçek Programlama bölümünde açıklanan bir soruna dayanmaktadır .
stdin
Diliniz için makul ve uygun bir biçimde kitap başlıklarının bir listesini bağımsız değişken olarak veya bağımsız değişken olarak alan bir program veya işlev yazın . Örneğin,
Green Sleeves
Time Was Lost
veya
("Green Sleeves";"Time Was Lost")
stdout
Her bir anahtar kelimeyi açılı ayraçlar ( <
ve >
) içine alarak bağlamlarını orijinal başlıklar içinde gösteren, alfabetikleştirilmiş anahtar kelime listesine dönün veya yazdırın . Girişte olduğu gibi, çıktı dil-satır-satırla ayrılmış satırlarınız, bir dize listesi vb. İçin uygun olan makul bir biçimde olabilir:
<Green> Sleeves
Time Was <Lost>
Green <Sleeves>
<Time> Was Lost
Time <Was> Lost
Başlıklar, tek bir boşlukla ayrılmış bir dizi anahtar kelimeden oluşacaktır. Anahtar kelimeler yalnızca alfabetik karakterler içerecektir. Anahtar kelimeler sözlükbilimsel olarak sıralanacaktır . Başlıklar benzersiz olacak ve anahtar kelimeler her başlıkta benzersiz olacak, ancak aynı anahtar kelime birkaç başlıkta bulunabilir. Bir anahtar kelime birden fazla başlıkta mevcutsa, çıktının her görünümü rastgele bir sırada listelemesi gerekir . Örneğin, bu girdi göz önüne alındığında:
A Dugong
A Proboscis
Geçerli bir çıktı:
<A> Proboscis
<A> Dugong
A <Dugong>
A <Proboscis>
Veya:
<A> Dugong
<A> Proboscis
A <Dugong>
A <Proboscis>
Bu kod golf - kazanan bayt cinsinden en kısa çözümdür. Standart boşluklara izin verilmez.