Eingang:
Zwei Zeichenfolgen (HINWEIS: Die Reihenfolge der Eingabe ist wichtig).
Ausgabe:
Beide Wörter / Sätze beginnen in Zeilen mit einer Leerzeile dazwischen. Sie gehen horizontal nebeneinander. Wenn sie jedoch denselben Charakter an derselben Position haben, kreuzen sie sich und gehen dann „nebeneinander“ weiter.
Verwirrend, sagst du? Nennen wir ein Beispiel:
Eingabe: Words crossing over
& Ducks quacking
:
Word quack n
s i g
Duck cross n over
Entschuldigen Sie den schlechten MS-Lack.
Herausforderungsregeln:
- Wir gehen immer zuerst eine gerade Linie zurück, nachdem wir überquert haben, bevor wir wieder überqueren können (siehe Testfall oben {1} - wo
ing
ist gleich, aber nachdem wir überquert habeni
, müssen wir zuerst zurückgehen geradeaus gehen (also ignorierenn
), bevor wir wieder weiter gehen könneng
). - Die Eingaben können unterschiedlich lang sein. In diesem Fall geht die längere Eingabe in einer geraden Linie weiter (siehe Testfälle 1, 2, 4 und 6).
- Beide Eingänge können gleich sein (siehe Testfall 3).
- Die Eingaben enthalten keine Tabulatoren oder Zeilenumbrüche.
- Leerzeichen werden als gleiche Zeichen ignoriert (als Randzeichen) . In diesem Fall wird das nächste (nicht-Leerzeichen-) Zeichen (falls vorhanden) gekreuzt (siehe Testfälle 3, 5 und 6).
- Die Eingaben dürfen keine benachbarten Zeichen (keine Leerzeichen) an derselben Position enthalten. In diesem Fall bewegen sich beide nur horizontal in einer geraden Linie (siehe Testfälle 2).
- Auch wenn das erste Zeichen gleich ist, beginnen wir immer zwei Zeilen auseinander (siehe Testfälle 3 & 6).
- Nachgestellte Leerzeichen und eine einzelne nachgestellte neue Zeile sind optional.
- Sie können davon ausgehen, dass die Eingaben nur druckbare ASCII-Zeichen enthalten (ohne Zeilenumbrüche und Tabulatoren).
- Die Eingänge sind fallempfindlich, so
A
unda
nicht gleich sind , und werden nicht überkreuzen (siehe Testfall 7). - Beide Eingangslängen betragen immer mindestens 2.
- Eingabe und Ausgabe können in jedem vernünftigen Format erfolgen. Kann eine einzelne Zeichenfolge mit Zeilenumbrüchen sein. ein String-Array / eine Liste; gedruckt nach STDOUT; 2D-Array von Zeichen; etc.
Allgemeine Regeln:
- Das ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes.
Lassen Sie sich von Code-Golf-Sprachen nicht davon abhalten, Antworten mit Nicht-Codegolf-Sprachen zu veröffentlichen. Versuchen Sie, für jede Programmiersprache eine möglichst kurze Antwort zu finden. - Für Ihre Antwort gelten Standardregeln. Daher dürfen Sie STDIN / STDOUT, Funktionen / Methoden mit den richtigen Parametern und vollständige Programme vom Rückgabetyp verwenden. Ihr Anruf.
- Standardlücken sind verboten.
- Fügen Sie nach Möglichkeit einen Link mit einem Test für Ihren Code hinzu.
- Fügen Sie ggf. auch eine Erklärung hinzu.
Testfälle:
1. Input: "Words crossing over" & "Ducks quacking"
1. Output:
Word quack n
s i g
Duck cross n over
2. Input: "bananas" & "ananas"
2. Output:
bananas
ananas
3. Input: "I see my twin!" & "I see my twin!"
3. Output:
I e y w n
s e m t i !
I e y w n
4. Input: "Is the weather nice?" & "Not really, no.."
4. Output:
Is th ally, no..
e
Not r weather nice?
5. Input: "Codegolf & Programming Puzzles" & "The golfer might solve puzzles"
5. Output:
Code o f & Programming P z l s
g l u z e
The o fer might solve p z l s
6. Input: "Can you turn the lights off?" & "Can you try to solve this?"
6. Output:
C n o urn the ve s off?
a y u t l t
C n o ry to so igh his?
7. Input: "one Ampere" & "two apples"
7. Output:
one Am les
p
two ap ere
8. Input: "Words crossing" & "Words Quacking"
8. Output:
W r s cross n
o d i g
W r s Quack n