import java.util.Arrays;
public class 배열회전하기{
public static void rotate_180(int[][] arr)
{
int[][] tmp = new int[arr.length][arr.length];
for(int r=0;r<arr.length;r++)
{
for(int c=0;c<arr[r].length;c++)
{
tmp[arr.length-1-r][arr[r].length-1-c]=arr[r][c];
}
}
for(int r=0;r<arr.length;r++)
{
System.out.println(Arrays.toString(tmp[r]));
}
}
public static void rotate_90(int[][] arr)
{
int[][] tmp=new int[arr.length][arr.length];
for(int r=0;r<arr.length;r++)
{
for(int c=0;c<arr[r].length;c++)
{
//tmp[r][c]=arr[arr.length-1-c][r];2,0에서 0,0으로 보내야하니까..0,0에서 0,2로,,,
tmp[c][arr.length-1-r]=arr[r][c];
}
}
for(int r=0;r<arr.length;r++)
{
System.out.println(Arrays.toString(tmp[r]));
}
}
public static void main(String[] args) {
int[][] arr={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
rotate_90(arr);
//rotate_180(arr);
}
}
1) Transpose(전치) 후 Flip(반전) 이용