48. Rotate Image

Ash·2020년 10월 25일
0
post-custom-banner

해결방법

전체를 돌린다는 생각으로 접근하지않고 바깥을 기준으로 잡고 한겹씩 벗겨내어 돌린다고 생각하면 된다.
시작점(start)과 마지막점(end)를 잡고 반복문을 시작한 후
각 변을 전부 옮길 수 있도록 for문을 사용하여 회전 연산을 해주었다.
한 겹씩 오른쪽으로 회전한다고 생각하고 문제를 풀이하면 된다.

소스코드

	public void rotate(int[][] matrix) {
		int n = matrix.length;
        for (int i = 0; i < n / 2; i++) {
            for (int j = 0; j < n-i-1; j++) {
                int temp = matrix[i][j];
                matrix[i][j] = matrix[n-1-j][i];
                matrix[n-1-j][i] = matrix[n-1-i][n-1-j];
                matrix[n-1-i][n-1-j] = matrix[j][n-1-i];
                matrix[j][n-1-i] = temp;
            }
        }
    }
profile
기록남기기👩‍💻
post-custom-banner

0개의 댓글