[Python] Rotation à droite de 90 degrés, rotation à gauche de 90 degrés, rotation de la matrice à 180 degrés [AtCoder]

J'ai été impressionné par la façon de faire tourner la procession, je vais donc l'écrire sous forme d'article. C'est un mystère si cette connaissance peut être appliquée à l'avenir w

Tournez de 90 degrés vers la droite dans la procession! !! ABC036B

Je pense qu'il existe de nombreuses façons de le résoudre, mais voici le code lorsque j'ai eu AC pour la première fois. Je me demande comment fonctionne l'index, en travaillant dur avec des notes et du papier ... Je l'ai fait en réfléchissant.

test.py


def I(): return int(input())
N = I()
S = [input() for _ in range(N)]
ans =[['']*N for _ in range(N)]
for i in range(N):
    for j in range(N):
        ans[j][N-1-i] = S[i][j]
for x in ans:
    print(*x,sep='')

Regardez le code d'une personne forte, ** surprise! Impressionné! ** ** ** Rotation à 90 degrés dans le sens des aiguilles d'une montre ① Après l'avoir retourné ② Transfert Que devrais-je faire! !! !! ** **

IMG_3975.JPG

Voici le code basé sur cette idée! Puisque S est un tableau à deux dimensions, vous pouvez le retourner avec S [:: -1]! Si vous ne connaissez pas la réinstallation, Googler avec "Transfer zip python" (pas difficile)!

test.py


def I(): return int(input())
N = I()
S = [input() for _ in range(N)]
for x in zip(*S[::-1]):
    print(*x,sep='')

C'est devenu AC! ** Sensationnel! ** **

Rotation à gauche de 90 degrés de la procession! !!

Le contraire de la rotation à 90 degrés dans le sens des aiguilles d'une montre, ** Rotation à 90 degrés dans le sens antihoraire ① Déménager ② À l'envers Ça à l'air bon! !! !! ** **

test.py


def I(): return int(input())
N = I()
S = [input() for _ in range(N)]
T_S = list(zip(*S))
for x in T_S[::-1]:
    print(*x,sep='')

Est-ce vraiment 90 degrés dans le sens antihoraire ...? スクリーンショット 2020-04-18 21.44.36.png

** Il fait 90 degrés dans le sens antihoraire! !! !! !! !! !! ** ** ** Sensationnel! ** **

Tournez à 180 degrés dans la procession! !! ABC004B

** Rotation à 180 degrés ① Inverser gauche et droite ② À l'envers Ça à l'air bon! !! !! ** **

test.py


def LS(): return list(input().split())
A = [LS()[::-1] for _ in range(4)]
for x in A[::-1]:
    print(*x,sep=' ')

Au moment de la saisie, utilisez LS () [:: -1] pour inverser la gauche et la droite! C'est devenu AC! ** J'ai été impressionné ~ **

fin!

Recommended Posts

[Python] Rotation à droite de 90 degrés, rotation à gauche de 90 degrés, rotation de la matrice à 180 degrés [AtCoder]
atCoder 173 Python
[Python] Résolvez 10 problèmes d'élite passés d'Atcoder
Comparaison de la vitesse de transposition de la matrice par Python
Filtrage par convolution par matrice-Reinventor of Python image processing-
Conversion d'affine par matrice (agrandissement / réduction / rotation / cisaillement / mouvement) -Réinventeur du traitement d'image Python-
[AtCoder] Résoudre un problème de ABC101 ~ 169 avec Python
[Exemple de réponse (python3)] ABS (AtCoder Beginners Selection) de atcoder
AtCoder ABC 174 Python
Les bases de Python ①
Bases de python ①
Copie de python
[Python] Opération de matrice
AtCoder ABC 175 Python
Introduction de Python
Traitement d'image par matrice Basics & Contents-Reinventor of Python image processing-
Examen de atcoder ABC158, jusqu'à la question E (Python)