Diese Herausforderung basiert auf einem Problem, das in D. Parnas, Über die Kriterien für die Zerlegung von Systemen in Module , beschrieben und in J. Morris, Real Programming in Functional Languages , erläutert wurde .
Schreiben Sie ein Programm oder eine Funktion, die eine Liste von Buchtiteln aus stdin
oder als Argument in einem für Ihre Sprache angemessenen, praktischen Format verwendet. Zum Beispiel,
Green Sleeves
Time Was Lost
oder
("Green Sleeves";"Time Was Lost")
Kehren Sie zu stdout
einer alphabetischen Liste der Schlüsselwörter zurück oder drucken Sie sie aus. Zeigen Sie deren Kontext innerhalb der Originaltitel an, indem Sie jedes Schlüsselwort in spitze Klammern ( <
und >
) setzen. Wie bei der Eingabe kann die Ausgabe in einem angemessenen Format erfolgen, das für Ihre durch Zeilenumbrüche getrennten Zeilen, eine Liste von Zeichenfolgen usw. geeignet ist:
<Green> Sleeves
Time Was <Lost>
Green <Sleeves>
<Time> Was Lost
Time <Was> Lost
Titel bestehen aus einer Reihe von Schlüsselwörtern, die durch ein einzelnes Leerzeichen getrennt sind. Schlüsselwörter enthalten nur alphabetische Zeichen. Schlüsselwörter sind lexikographisch zu sortieren . Titel sind eindeutig und Schlüsselwörter sind in jedem Titel eindeutig, aber dasselbe Schlüsselwort kann in mehreren Titeln vorhanden sein. Wenn ein Schlüsselwort in mehr als einem Titel vorhanden ist, sollte die Ausgabe jedes Erscheinungsbild in einer beliebigen Reihenfolge auflisten . Zum Beispiel bei dieser Eingabe:
A Dugong
A Proboscis
Eine gültige Ausgabe wäre entweder:
<A> Proboscis
<A> Dugong
A <Dugong>
A <Proboscis>
Oder:
<A> Dugong
<A> Proboscis
A <Dugong>
A <Proboscis>
Dies ist Code-Golf - der Gewinner ist die kürzeste Lösung in Bytes. Standardlücken sind nicht zulässig.