본문 바로가기
알고리즘

[알고리즘] 2차원 배열 90도 회전 메서드 구현 (자바/java)

by 개발하는 지토 2020. 8. 31.

알고리즘 문제풀이를 하면서 가끔씩 사용되는 2차원 배열 90도 회전 메서드이다.

 

// 2차원 배열을 90도 회전하기
    private static int[][] turn(int[][] key) {
        int[][] ret = new int[key.length][key[0].length];
        for(int i=0; i<ret.length; i++) {
            for(int j=0; j<ret.length; j++) {
                // 오른쪽으로 90도 회전
                ret[i][j] = key[key.length-1-j][i];
            }
        }
        return ret;
    }

 

    // 왼쪽으로 회전
    private static int[][] rotate(int[][] arr) {
        int tmp;
        for(int s=0, e=arr.length-1; s<e; s++,e--) {
            for(int i=s,j=e; i<e; i++,j--) {
                tmp = arr[s][i];
                arr[s][i] = arr[i][e];
                arr[i][e] = arr[e][j];
                arr[e][j] = arr[j][s];
                arr[j][s] = tmp;
            }
        }
        return arr;
    }

 

기록용

댓글