자주 봤던 문제로 나머지 연산을 통해 변경되는 위치를 정했다.
하지만 시간 초과가 생겨 연산 과정을 런타임에서 따라가지 않고 연산 횟수를 사용해 바로 위치를 결정했다.
마지막에는 k가 너무 큰 숫자일 때 인덱스가 -위치를 잡아 빼주는 k도 나눗셈을 수행했다.
class Solution {
public void rotate(int[] nums, int k) {
step(nums, k);
}
public void step(int[] nums, int k){
int[]temp = Arrays.copyOf(nums, nums.length);
for(int i=0;i<nums.length;i++){
nums[i] = temp[(i-(k%nums.length)+nums.length)%nums.length];
}
}
}