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
[Python] 2차원 배열 회전 알고리즘
[Python] 2차원 배열 회전 알고리즘
velog.io
'코테 공부 > 코테 전략&팁' 카테고리의 다른 글
최단 경로 알고리즘: 다익스트라, 플로이드 워셜 (0) | 2022.11.11 |
---|---|
서로소 집합을 활용한 사이클 판별(같은 팀인지 파악) (0) | 2022.08.19 |
[꿀팁] 상하좌우 이동 (0) | 2022.08.02 |
[꿀팁] 2차원 배열 선언하기 (0) | 2022.08.02 |
[꿀팁] 입력 값을 변수 두 개에 저장하기 (0) | 2022.08.02 |