ote: Try to solve this task in-place (with O(1) additional memory), since this is what you'll be asked to do during an interview.

You are given an n x n 2D matrix that represents an image. Rotate the image by 90 degrees (clockwise).

Example

For

a = [[1, 2, 3],
     [4, 5, 6],
     [7, 8, 9]]

the output should be

solution(a) =
    [[7, 4, 1],
     [8, 5, 2],
     [9, 6, 3]]

Input/Output

풀이

int[][] solution(int[][] a) {
    int [][] result = new int [a.length][a.length];
    int length = a.length;
    
    for (int i = 0; i < a.length; i ++) {
        for (int j = 0; j < a[i].length; j ++) {
            result [j][Math.abs(i - length + 1)] = a[i][j];
        }
    }
    
    return result;
}