Menu
CoddyTech

Rotate Array

정수 배열 nums와 숫자 k가 주어집니다. 배열을 오른쪽으로 k단계 회전하세요. 한 단계마다 각 값은 오른쪽으로 한 칸 이동하고, 마지막 값은 맨 앞으로 돌아옵니다. 회전된 배열을 반환하세요.

k는 배열의 길이보다 훨씬 클 수 있습니다.

함수

rotate(nums: integer-array, k: integer) → integer-array
numsinteger-array
회전할 정수 배열
kinteger
오른쪽으로 회전하려면 몇 단계인가요
반환값integer-array
nums를 오른쪽으로 k단계 회전

제약 조건

  • 1 ≤ nums.length ≤ 5000
  • -104 ≤ nums[i] ≤ 104
  • 0 ≤ k ≤ 109

예제

입력
nums = [4, 9, 1, 6, 3]k = 2
출력
[6, 3, 4, 9, 1]
설명
오른쪽으로 두 단계 이동하면 마지막 두 값인 6과 3이 앞으로 옵니다. 나머지 세 값은 오른쪽으로 두 칸 이동하며 순서를 유지합니다: [6, 3, 4, 9, 1].
challenge icon

후속 질문

각 값을 곧바로 (i + k) mod n로 옮기고, 그 자리에 있던 값을 계속 옮겨 가며 제자리에서 회전할 수 있을까요? 이렇게 하면 사이클이 몇 개 만들어질까요?

코드 초기화
def rotate(nums, k):
    # 여기에 코드를 작성하세요

테스트 #1

테스트 #2

테스트 #3

인자들

nums = [4, 9, 1, 6, 3]
k = 2

예상 출력

[6, 3, 4, 9, 1]