C++ 도형, 행렬 회전 코드 : 네이버 블로그 (naver.com)
도형을 실제로 그려보고 4방향으로 돌린 것에 대한 좌표를 가진다
now 도형과 next 도형의 i,j 관계가 어떠한지 살펴보면 된다.
이 때, i,j는 당연하게도 회전될 도형의 column의 값에 영향을 받는다.
def rotate_clock(n,m, graph) :
temp = [[0 for _ in range(n)] for _ in range(m)]
for i in range(m) :
for j in range(n) :
temp[i][j] = graph[n-j-1][i]
return temp
def rotate_reverse_clock(n,m, graph) :
temp = [[0 for _ in range(n)] for _ in range(m)]
for i in range(m):
for j in range(n):
temp[i][j] = graph[j][m-i-1]
return temp
n,m = map(int,sys.stdin.readline().split())
my_list = [list(map(int,sys.stdin.readline().split())) for _ in range(n)]
for k in my_list:
print(*k)
print()
z = rotate_reverse_clock(n,m,my_list)
for k in z :
print(*k)
4 3
0 0 1
0 1 1
0 0 1
0 0 1
# 인풋
0 0 1
0 1 1
0 0 1
0 0 1
# 아웃풋
1 1 1 1
0 1 0 0
0 0 0 0
'CS > 알고리즘' 카테고리의 다른 글
Network Flow (최대 유량 알고리즘) 파이썬 (0) | 2022.03.04 |
---|---|
투 포인터 (0) | 2021.10.10 |
이분탐색 (0) | 2021.10.09 |
Meet In The Middle 알고리즘 (0) | 2021.10.08 |
최소 스패닝 트리와 크루스칼 알고리즘 (0) | 2021.10.04 |