코테 공부/코테 전략&팁

[꿀팁] Python 2차원 배열 회전

prefer_all 2022. 7. 1. 20:36

2차원 배열 회전

90° 회전하기 전(n = 3)

b a -
c - -
- - -

 

90° 회전후

- c b
- - a
- - -

 

이때 a, b, c 각각의 좌표는 다음과 같다

  90도 회전 전 90도 회전 후
a (0, 1) (1, 2)
b (0, 0) (0, 2)
c (1, 0) (0, 1)

위의 좌표값 변화에서 규칙을 찾아볼 수 있다.

회전전의 열 번호와 회전후의 행 번호는 일치하며
회전후의 열은 N(표의 길이)-1에서 회전전의 행을 뺀 값과 같다.

def rotate_90_degree(arr):
    n = len(arr)
    rotate_arr = [[0] * n for _ in range(n)]
    for i in range(n):
        for j in range(n):
            rotate_arr[j][n - 1 - i] = arr[i][j]
    return rotate_arr

출처: https://velog.io/@foxrain_gg/Python-2%EC%B0%A8%EC%9B%90-%EB%B0%B0%EC%97%B4-%ED%9A%8C%EC%A0%84-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98#%EC%BD%94%EB%93%9C

 

[Python] 2차원 배열 회전 알고리즘

[Python] 2차원 배열 회전 알고리즘

velog.io