📌 문제
[LeetCode] 189. Rotate Array

📌 풀이
📌 코드 설계
📌 정답 코드
Solution 1: Slicing method
class Solution:
def rotate(self, nums: List[int], k: int) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
n = len(nums)
if n == 0:
return
k %= n
nums[:] = nums[-k:] + nums[:-k]
Solution 2: Reverse method
class Solution:
def rotate(self, nums: List[int], k: int) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
n = len(nums)
if n == 0:
return
k %= n
if k == 0:
return
def rev(i, j):
while i < j:
nums[i], nums[j] = nums[j], nums[i]
i += 1
j -= 1
rev(0, n - 1)
rev(0, k - 1)
rev(k, n - 1)