[Python] 2차원 행렬을 90도 회전시키는 방법 ☑️

2023. 1. 6. 19:53·Python

n x n 의 2차원 행렬을 90도(시계방향) 회전시키는 방법

 

def rotate90(matrix):  # 회전시키는 행렬은 nxn로 가정
	n = len(matrix)
	newMatrix = [[0 for _ in range(n)] for _ in range(n)]
	for y in range(n):
		for x in range(n-1, -1, -1):
			newMatrix[y][n-1-x] = matrix[x][y]
	return newMatrix

 

 

import sys

n, m = map(int,sys.stdin.readline().split())

print("[Original matrix]")
matrix = [[row*m+col for col in range(m)] for row in range(n)]

for i in range(n):
    for j in range(m):
        print(matrix[i][j], end=" ")
    print()
print()


print("[Rotate Right 90]")
matrix_r90= [[0 for col in range(n)] for row in range(m)]

for i in range(n):
    for j in range(m):
        matrix_r90[j][n-i-1] = matrix[i][j]

for i in range(m):
    for j in range(n):
        print(matrix_r90[i][j], end=" ")
    print()
print()


print("[Rotate Right 90]")
matrix_l90= [[0 for col in range(n)] for row in range(m)]

for i in range(n):
    for j in range(m):
        matrix_r90[m-j-1][i] = matrix[i][j]

for i in range(m):
    for j in range(n):
        print(matrix_r90[i][j], end=" ")
    print()
print()
'Python' 카테고리의 다른 글
  • [Python] 파이썬 기본 정렬 사용법 ☑️
  • [Python] 띄어쓰기 없이 입력되는 2차원 행렬을 2차원 배열로 입력 받는 방법 ☑️
  • [Python] 배열을 선언하는 방법 ☑️
  • [Python] Collections 모듈 ☑️
vysryoo
vysryoo
  • vysryoo
    vysryoo
    vysryoo
  • 전체
    오늘
    어제
    • 분류 전체보기 (129)
      • Python (20)
      • Data structure (12)
      • Algorithm (14)
      • Operating system (18)
      • Programming language theory (12)
      • Computer architecture (6)
      • Softeware engineering (8)
      • Multicore (2)
      • Data Base (3)
      • Problem solving (24)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
vysryoo
[Python] 2차원 행렬을 90도 회전시키는 방법 ☑️
상단으로

티스토리툴바