Hintergrund
In den meisten vernünftigen Programmiersprachen ist es sehr einfach, die Zeilen oder Spalten eines 2D-Arrays zu drehen. In dieser Herausforderung müssen Sie stattdessen die Antidiagonalen drehen . Denken Sie daran, dass die Antidiagonalen eines 2D-Arrays seine 1D-Schnitte sind, die in nordöstlicher Richtung ↗ aufgenommen wurden.
Eingang
Ein nicht leeres rechteckiges 2D-Array mit einstelligen Zahlen in einem beliebigen Format. Beachten Sie, dass das Array möglicherweise kein Quadrat ist.
Ausgabe
Das gleiche Array, aber mit jeder Antidiagonale einen Schritt nach rechts gedreht.
Beispiel
Betrachten Sie das 3x4
Eingabearray
0 1 2 3
4 5 6 7
8 9 0 1
Die Antidiagonalen dieses Arrays sind
0
4 1
8 5 2
9 6 3
0 7
1
Ihre gedrehten Versionen sind
0
1 4
2 8 5
3 9 6
7 0
1
Somit ist die korrekte Ausgabe
0 4 5 6
1 8 9 0
2 3 7 1
Regeln und Wertung
Sie können ein vollständiges Programm oder eine Funktion schreiben. Es ist auch akzeptabel, eine Funktion zu schreiben, die das Eingabearray an Ort und Stelle ändert, wenn Ihre Sprache dies zulässt. Die niedrigste Byteanzahl gewinnt, und Standardlücken sind nicht zulässig.
Bestenliste
Hier ist ein Stack-Snippet, um sowohl eine reguläre Rangliste als auch eine Übersicht der Gewinner nach Sprache zu generieren.
Um sicherzustellen, dass Ihre Antwort angezeigt wird, beginnen Sie Ihre Antwort mit einer Überschrift. Verwenden Sie dazu die folgende Markdown-Vorlage:
## Language Name, N bytes
Wo N
ist die Größe Ihres Beitrags? Wenn Sie mehrere Zahlen in Ihre Kopfzeile aufnehmen möchten (z. B. weil Ihre Punktzahl die Summe von zwei Dateien ist, oder wenn Sie die Strafen für Interpreter-Flags separat auflisten möchten oder wenn Sie alte, von Ihnen verbesserte Punktzahlen anzeigen möchten), stellen Sie sicher, dass die tatsächliche Punktzahl vorliegt ist die letzte Zahl in der Kopfzeile.
Zusätzliche Testfälle
Input:
4
Output:
4
Input:
5 6 1
Output:
5 6 1
Input:
0 1
6 2
Output:
0 6
1 2
Input:
6 3 0 8
4 6 1 4
6 2 3 3
9 3 0 3
Output:
6 4 6 1
3 6 2 3
0 9 3 0
8 4 3 3
Input:
5 8 2
6 7 3
2 6 1
6 0 6
6 4 1
Output:
5 6 7
8 2 6
2 6 0
3 6 4
1 6 1
Input:
9 9 4 0 6 2
2 3 2 6 4 7
1 5 9 3 1 5
0 2 6 0 4 7
Output:
9 2 3 2 6 4
9 1 5 9 3 1
4 0 2 6 0 4
0 6 2 7 5 7