Diese Herausforderung ist inspiriert von einer SO-Frage zum Durchlaufen einer Matrix durch Aufzählung aller diagonalen Streifen.
Betrachten Sie anstelle einer Matrix einen Textblock:
ABCD
EFGH
IJKL
Wenn Sie die SW-NE-Diagonalen dieses Blocks von links nach rechts von der oberen linken Ecke bis zur unteren rechten Ecke durchlaufen, erhalten Sie die folgende Ausgabe:
A
EB
IFC
JGD
KH
L
Herausforderung
Schreiben Sie ein Programm oder eine Funktion, die die Umkehrung des oben beschriebenen Prozesses ausführt. Das heißt, wenn ein Satz von SW-NE-Diagonalstreifen angegeben ist, wird der Textblock ausgegeben, der ihn erzeugt hat.
Ein- und Ausgabe
Sowohl Eingabe als auch Ausgabe können als Zeichenfolgen mit Zeilenumbrüchen oder Arrays / Listen von Zeichenfolgen dargestellt werden.
Nachfolgende Zeilenumbrüche sind optional.
Die Eingabe besteht aus mindestens einem druckbaren Zeichen und kann als korrekt angenommen werden (es gibt keine inkonsistenten Zeilenlängen).
Der Ausgabeblock hat immer eine Anzahl von Spalten, die größer oder gleich der Anzahl von Zeilen ist.
Testfälle
Eingang:
A
Ausgabe:
A
Eingang:
.
LI
PO.
PV.
CE
G
Ausgabe:
.I..
LOVE
PPCG
Eingang:
M
DA
AIT
LAR
SGI
/OX
/N
/
Ausgabe:
MATRIX
DIAGON
ALS///