4 x 4 배열을 시계방향으로 90도 회전하는 예시입니다.
규칙을 찾아보면 다음과 같습니다.
(1,3)
에서 회전 후 (3,2)
가 되었습니다.(2,1)
은 회전 후 (1,1)
이 되었습니다이렇게 규칙을 찾아나가다 보면 다음과 같은 사실을 알 수 있습니다
열
의 좌표는 회전 후행
의 좌표가 된다
행
의 좌표는 회전 후배열길이-1-열
의 좌표가 된다
즉, (i,j)
는 회전 후 (j,N-1-i)
가 됩니다
위의 규칙을 토대로 코드를 작성하면 다음과 같습니다
from copy import deepcopy
def rotate_list(list):
new_list = deepcopy(list)
for i in range(len(list)):
for j in range(len(list)):
new_list[j][len(list)-1-i] = list[i][j]
return new_list
(j , N-1-i)
값은 회전 전 (i,j)
의 값이어야 합니다. 대입 방향에 주의해야합니다규칙만 잘 찾아보면 쉬운 문제였습니다