Rotate Array

초보개발·2023년 8월 23일
0

leetcode

목록 보기
5/39

Rotate Array

https://leetcode.com/problems/rotate-array/?envType=study-plan-v2&envId=top-interview-150

문제 요약

  • nums 배열을 오른쪽으로 k만큼 밀어서 회전하기

풀이

  • k는 nums의 길이를 넘을 수 있다. % len(nums)로 감쌀 것
  • nums를 뒤에서부터 앞으로 k번 옮기기 때문에, k가 아닌 -k로 슬라이싱

수도코드

def sol(nums, k):
	k = k % nums의 길이
    nums = nums[-k: ] + nums: [:-k]

Solution(Runtime: 173ms)

class Solution:
    def rotate(self, nums: List[int], k: int) -> None:
        k %= len(nums)
        nums[:] = nums[-k: ] + nums[: -k]

이번 문제에선 적용하기 어렵지만, k만큼 회전하는 경우 deque 자료형에 rotate를 사용하면 된다.

  • 시계방향 회전: 양수
  • 반시계방향 회전: 음수

0개의 댓글