본문 바로가기

알고리즘/알고리즘-이론

JAVA 2차원 배열 (matrix) 회전 공식 완벽 정리!

1. 시계방향으로 90도 회전

Before(R,C) 는 원래 행렬에서의 원소의 위치를 말하는 것이고, After()는 바뀐 행렬에서 동일한 원소의 위치를 말하는 것이다.

예를 들어, 원소 '9'는 (1,3) 이다. 따라서 바뀐 행렬에서는 공식대로하면 (3,3) 이다. 실제로도 그렇다.

2. 반 시계 방향으로 90도 회전

 

3. 배열 시계 방향 혹은 반 시계 방향으로 원소를 한 칸씩 이동

idx, idy를 이용하여, 한 칸씩 이동.

  1. 최초의 값을 temp라는 변수에 저장한다.
  2. idx,idy를 이용하여, 배열의 끝부분에서는 뱡향 전환을 하며, 동서남북으로 원소를 한 칸씩 옮긴다.
  3. 마지막 원소는 최초의 값에 인접한 원소이다. 여기에는 temp의 값을 집어넣는다.