48. Rotate Image

LONGNEW·2023년 8월 23일
0

CP

목록 보기
145/155

https://leetcode.com/problems/rotate-image/description/?envType=featured-list&envId=top-google-questions?envType=featured-list&envId=top-google-questions

input :

  • matrix

output :

  • 배열 내부의 원소를 시계 방향으로 90도 회전시키시오.

조건 :


Solution explain : Solution1

idea

  • matrix[0][~], matrix[1][~]
  • matrix[~][n - 1], matrix[~][n - 2]

  • row의 값을 col에 끼워넣는데 뒤에서부터 넣어야 하기 때문에 위와 같은 순서로 진행 해야 한다.
  • 값을 저장하기 위해 temp 변수에 2차원 배열의 값을 저장했다가 옮긴다.

주의

class Solution:
    def rotate(self, matrix: List[List[int]]) -> None:
        """
        Do not return anything, modify matrix in-place instead.
        """
        n = len(matrix)
        temp_matrix = [[-1] * n for _ in range(n)]

        # matrix[0][~], matrix[1][~] 
        # =>
        # matrix[~][n - 1], matrix[~][n - 2]

        for x in range(n):
            for y in range(n):
                value = matrix[x][y]
                temp_matrix[y][n - 1 - x] = value
        
        for x in range(n):
            for y in range(n):
                matrix[x][y] = temp_matrix[x][y]

0개의 댓글