LeetCode[ Medium | Python ] Rotate Array
업데이트:
링크
https://leetcode.com/problems/rotate-array/?envType=study-plan-v2&envId=top-interview-150
풀이
주어진 배열 nums
를 오른쪽으로 k
회 회전했을 때의 결과를 nums
에 저장해야 하는 문제.
nums
의 수를 이용하기 위해tmp
를 선언했다.nums
의 요소를 바로 회전 처리하여 삽입하게 되는 경우 다른 요소가 덮어씌워져 쓸 수 없는 경우를 방지하기 위함이다.
- 각
nums
의 요소마다tmp
의 요소를 사용해 회전처리한다.- 회전 처리는 현재 요소의 주소값
i
에k
를 더한 방식을 취한다. i+k
가 본래nums
의 크기를 넘는다면 이에 nums의 크기만큼 나눈 나머지만을 취해 넘어가지 않도록 한다.
- 회전 처리는 현재 요소의 주소값
코드
Python
class Solution(object):
def rotate(self, nums, k):
tmp = [i for i in nums]
for i in range(len(nums)):
nums[((i + k) % len(nums))] = tmp[i]
댓글남기기