✨ 행렬을 90도 돌리는 회전 알고리즘
간단하게 3행 3열 배열을 생성하고 행렬의 값을 90도 회전 시켜보자!
📃 자바로 구현한 행렬 90도 회전 코드
package algo;
public class RotateMatrix {
public static void main(String[] args) {
int N = 3;
int M = 3;
int [][] beforeRotated = new int[M][N];
int [][] afterRotated = new int[M][N];
batchMatrixValues(N, M, beforeRotated);
printMatrixValues(N,M,beforeRotated);
rotate(N,M,beforeRotated,afterRotated);
System.out.println("--------------");
printMatrixValues(N,M,afterRotated);
}
private static void rotate(int N, int M, int[][] matrix,int[][] rotated) {
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
rotated[j][N-1-i] = matrix[i][j];
}
}
}
private static void printMatrixValues(int N, int M, int[][] matrix) {
for (int i = 0; i< M; i++){
for (int j = 0; j< N; j++){
System.out.printf("matrix[%d][%d]=%d\n",i,j,matrix[i][j]);
}
}
}
private static void batchMatrixValues(int N, int M, int[][] matrix) {
for (int i = 0; i< M; i++){
for (int j = 0; j< N; j++){
matrix[i][j] = (M*i)+j+1;
}
}
}
}