[leetcode] 48. Rotate Image

Youn·2021년 8월 19일
0

Algorithm

목록 보기
16/37

문제 설명

링크
2차원 배열 90도 회전하기

접근 1 - 임시 저장공간 사용

  • tmp 변수에 기존 배열 저장해놓고 in place rotation

코드 1

    def rotate(self, matrix: List[List[int]]) -> None:
        """
        Do not return anything, modify matrix in-place instead.
        """
        tmp = deepcopy(matrix)
        n = len(matrix)
        
        for i in range(n):
            for j in range(n):
                matrix[i][j] = tmp[n - j - 1][i] # n-j-1 대신 ~i 로도 가능 

접근 2 - zip

  • pythoninc
  • A -- [[1,2,3],[4,5,6],[7,8,9]]
  • A[::-1] -- [[7, 8, 9], [4, 5, 6], [1, 2, 3]]
  • zip(*A[::-1]) -- [[7,4,1],[8,5,2],[9,6,3]]

코드 2

    def rotate(self, matrix: List[List[int]]) -> None:
        """
        Do not return anything, modify matrix in-place instead.
        """
        matrix[:] = zip(*matrix[::-1])
profile
youn

0개의 댓글