[Leetcode] 0048. 이미지 회전

Python, C++, JavaScript, SQL 및 TypeScript의 다양한 LeetCode 솔루션을 살펴보세요. 여러 프로그래밍 언어로 인터뷰 준비, 학습 및 코드 연습에 적합합니다. Github 레포 링크

당신에게 주어집니다 nxn 2차원 행렬 이미지를 나타내려면 이미지를 회전합니다. 90 도(시계 방향).

이미지를 회전해야 합니다 제자리에즉, 입력된 2D 행렬을 직접 수정해야 한다는 의미입니다. 하지 마세요 또 다른 2D 행렬을 할당하고 회전을 수행합니다.

 

예시 1:

입력: 행렬 = [[1,2,3],[4,5,6],[7,8,9]]
산출: [[7,4,1],[8,5,2],[9,6,3]]

예 2:

입력: 행렬 = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]
산출: [[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]

 

제약:

  • n == 행렬.길이 == 행렬[i].길이
  • 1 <= n <= 20
  • -1000 <= 행렬[i][j] <= 1000

파이썬

				
					import List를 입력하여 # 시간 복잡도: O(n^2) # 공간 복잡도: O(n^2) 클래스 솔루션: def rotate(self, matrix: List[List[int]]) -> None: ROW = len( 행렬) COL = len(행렬[0]) new행렬 = [[0 for _ in range(COL)] for _ in range(ROW)] for r in range(ROW): for c in range(COL): new행렬[ c][ROW - r - 1] = 행렬[r][c] 반환 # 시간 복잡도: O(n^2) # 공간 복잡도: O(1) 클래스 솔루션: def rotate(self, 행렬: List[List[ int]]) -> None: n = len(행렬) r에 대해 범위(n // 2)에 대해 범위(r, n - r - 1)에 대해 c에 대해 범위(r)에 대해: 행렬[r][c], 행렬[c ][n-1-r] = 행렬[c][n-1-r], 행렬[r][c] 행렬[r][c], 행렬[n-1-r][n-1 - c] ] = 행렬[n-1-r][n-1-c], 행렬[r][c] 행렬[r][c], 행렬[n-1-c][r] = 행렬[n-1 -c][r], 행렬[r][c] 행렬을 반환합니다. 행렬 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(Solution().rotate (행렬)) 행렬 = [[5, 1, 9, 11], [2, 4, 8, 10], [13, 3, 6, 7], [15, 14, 12, 16]] print(해결책 ().회전(행렬))
				
			
ko_KR한국어