본문 바로가기
Python/파이썬 문법 Tips

[ 파이썬(python) ] 2차원 행렬 시계, 반시계 방향으로 90도 뒤집기

by YWTechIT 2021. 6. 15.
728x90

📍 2차원 행렬 시계, 반시계 방향으로 90도 뒤집기

크기가 n * m인 2차원 arr배열이 있을 때, 시계, 반시계 방향으로 90도 뒤집는 방법을 알아보자. 2가지 방법이 있는데, 반복문, zip을 사용하는 방법이 있다.

728x90
# 시계방향으로 90도 뒤집기
n, m = 4, 6
arr = [[1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12], [13, 14, 15, 16, 17, 18], [19, 20, 21, 22, 23, 24]]
temp = [[0] * m for _ in range(n)]

# 1. 반복문
for i in range(m):
    for j in range(n):
        temp[i][j] = arr[n-1-j][i]

# 2. zip함수
arr = list(map(list, zip(*arr[::-1]))

👉🏽
19 13 7 1
20 14 8 2
21 15 9 3
22 16 10 4
23 17 11 5
24 18 12 6
# 반시계방향으로 90도 뒤집기
n, m = 4, 6
arr = [[1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12], [13, 14, 15, 16, 17, 18], [19, 20, 21, 22, 23, 24]]
temp = [[0] * m for _ in range(n)]

# 1. 반복문
for i in range(m):
    for j in range(n):
        temp[i][j] = arr[j][m-1[i]]

# 2. zip함수
arr = list(map(list, zip(*arr))[::-1]

👉🏽
6 12 18 24
5 11 17 23
4 10 16 22
3 9 15 21
2 8 14 20
1 7 13 19
반응형

댓글