[LeetCode/Python] 189. Rotate Array

ㅎㅎ·2024년 3월 1일
0

LeetCode

목록 보기
8/33

189. Rotate Array

k번 만큼 회전 시키는 문제.

Solution

  1. 새로운 배열을 만들어서 밀려서 앞으로 돌아오는 수들을 먼저 넣어준다.
  2. 뒤로 들어올 수들을 넣어준다.
class Solution:
    def rotate(self, nums: List[int], k: int) -> None:
        length = len(nums)
        k = k%length
        if length > 1 :
            arr = []
            for i in range(length-k, length): arr.append(nums[i])
            for i in range(length-k): arr.append(nums[i])
            nums[:] = arr[:]
        

시간 복잡도

  1. O(k)
  2. O(n-k)

단계 별 시간 복잡도가 위와 같으므로 총 시간 복잡도는 O(n)이다.

최소 3가지의 다른 방법이 있다고 하던데...

profile
Backend

0개의 댓글