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
반응형
'Python > 파이썬 문법 Tips' 카테고리의 다른 글
[ 파이썬(python) ] 리스트 중 front, back에서부터 target index까지 어느쪽이 더 가까운지 판단하기 (0) | 2021.06.25 |
---|---|
[ 파이썬(python) ] 삼각수(계차수열) 나타내기 (0) | 2021.06.20 |
[ 파이썬(python) ] 2차원 행렬 상하, 좌우 반전하기 (0) | 2021.06.15 |
[ 파이썬(python) ] 자신은 제외하고 뽑을 때 (0) | 2021.06.12 |
[ 파이썬(Python) ] 3개의 주사위를 던져 n개의 동일한 값 찾기 (0) | 2021.06.08 |
댓글