Leetcode Python - 48. Rotate Image
Leetcode #48 - Rotate Image
이제 blind 75 leetcode를 풀어보겠습니다. https://leetcode.com/discuss/interview-question/460599/Blind-75-LeetCode-Questions
리트코드의 문제 48 ‘Rotate Image’을 파이썬으로 풀어 보도록 하겠습니다. 포인트는 첫 줄에 각 값들을 90도씩 회전된 곳으로 이동을 총 4번씩 시켜주는 것입니다.
전체 코드는 아래와 같습니다.
class Solution:
def rotate(self, matrix):
if len(matrix) == 1:
return matrix
n = len(matrix)
col_start = 0
col_end = n-1
row_start = 0
row_end = n-1
while row_start < row_end and col_start < col_end:
for i in range(0, col_end-col_start):
tmpFirst = matrix[row_start][col_start+i]
tmpSecond = matrix[row_start+i][col_end]
tmpThird = matrix[row_end][col_end-i]
tmpFourth = matrix[row_end-i][col_start]
matrix[row_start][col_start+i] = tmpFourth
matrix[row_start+i][col_end] = tmpFirst
matrix[row_end][col_end-i] = tmpSecond
matrix[row_end-i][col_start] = tmpThird
row_start += 1
row_end -= 1
col_start += 1
col_end -= 1
시간복잡도는
- O(n^2) : matrix 모든 요소를 방문
공간복잡도는
- O(1) : 상수 변수들 생성