Die Herausforderung
Bei einer gegebenen Liste von Wörtern ["Programming", "Puzzles", "Code", "Golf"]
wird der Wortkreuzworträtselstil ausgegeben:
Programmierung u z z G l C ode ls f
Der Algorithmus
- Sie müssen die Liste in der angegebenen Reihenfolge bearbeiten.
- Die Wörter werden abwechselnd horizontal gedruckt .
Die beiden Wörter kreuzen sich beim ersten Buchstaben im ersten Wort, der auch im zweiten Wort vorhanden ist. Wenn dieser Buchstabe im zweiten Wort mehrmals vorkommt, nehmen Sie den ersten.
Beispiel :
["no", "on"]
wird:o n o
und nicht
n o n
Zusätzliche Bemerkungen
- Benachbarte Wörter in der Liste haben mindestens einen gemeinsamen Buchstaben.
["Hi", "there"]
ist keine gültige Eingabe. - Worte werden niemals kollidieren. Es ist immer genügend Platz vorhanden, um ein Wort an der ersten möglichen Kreuzung zu drucken.
["Hello", "there", "end", "hello"]
ist keine gültige Eingabe - Bei der Zuordnung wird zwischen Groß- und Kleinschreibung unterschieden.
- Wörter können nach links und oben erweitert werden.
- Die Buchstaben der horizontalen Wörter müssen durch ein Leerzeichen getrennt werden.
- Die Eingabeliste enthält mindestens zwei Wörter.
- Alle Wörter stimmen mit dem regulären Ausdruck überein:
[A-Za-z]+
- Sie können so viele nachgestellte Leerzeichen oder Zeilenumbrüche drucken, wie Sie möchten, solange die Wörter korrekt verkettet sind.
- Auf der anderen Seite können Sie möglicherweise keine weiteren führenden Leerzeichen hinzufügen. Das Wort, das am weitesten links schwebt, hat null führende Leerzeichen, die anderen Zeilen haben so viele führende Leerzeichen, dass alle richtig ausgerichtet sind.
- Ihr Programm muss mit einer beliebigen Anzahl von Wörtern umgehen können
Regeln
- Funktion oder Vollprogramm erlaubt.
- Standardregeln für die Eingabe / Ausgabe.
- Es gelten Standardlücken .
- Dies ist Code-Golf , also gewinnt die niedrigste Byte-Anzahl. Tiebreaker ist eine frühere Vorlage.
Testfälle
Eingabeliste in der ersten Zeile, Ausgabe beginnt in der zweiten Zeile.
["Stack", "Exchange"] E x c h Stapel n G e
["This", "site", "graduated", "finally"] f ist n D as absolvierte le l y
Viel Spaß beim Codieren!
site
undgraduated
istt