Contexte
Dans la plupart des langages de programmation raisonnables, il est très facile de faire pivoter les lignes ou les colonnes d'un tableau 2D. Dans ce défi, votre tâche consiste à faire pivoter les anti-diagonales à la place. Rappelons que les anti-diagonales d'un réseau 2D sont ses tranches 1D prises dans la direction nord-est ↗.
Contribution
Un tableau 2D rectangulaire non vide de nombres à un chiffre dans n'importe quel format raisonnable. Notez que le tableau peut ne pas être un carré.
Sortie
Le même tableau, mais avec chaque anti-diagonale tournée d'un pas vers la droite.
Exemple
Considérez le 3x4
tableau d'entrée
0 1 2 3
4 5 6 7
8 9 0 1
Les anti-diagonales de ce tableau sont
0
4 1
8 5 2
9 6 3
0 7
1
Leurs versions tournées sont
0
1 4
2 8 5
3 9 6
7 0
1
Ainsi, la sortie correcte est
0 4 5 6
1 8 9 0
2 3 7 1
Règles et notation
Vous pouvez écrire un programme complet ou une fonction. Il est également acceptable d'écrire une fonction qui modifie le tableau d'entrée en place, si votre langue le permet. Le nombre d'octets le plus bas l'emporte et les failles standard sont interdites.
Classement
Voici un extrait de pile permettant de générer à la fois un classement régulier et un aperçu des gagnants par langue.
Pour vous assurer que votre réponse apparaît, commencez votre réponse par un titre, en utilisant le modèle Markdown suivant:
## Language Name, N bytes
où N
est la taille de votre soumission. Si vous souhaitez inclure plusieurs nombres dans votre en-tête (par exemple, parce que votre score est la somme de deux fichiers, ou si vous souhaitez répertorier les sanctions d'indicateur d'interprétation séparément, ou si vous souhaitez afficher les anciens scores que vous avez améliorés), assurez-vous que le score réel est le dernier chiffre de l'en-tête.
Cas de test supplémentaires
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