시계 방향으로 배열 회전
발행: (2025년 12월 18일 오전 05:18 GMT+9)
2 min read
원문: Dev.to
Source: Dev.to
배열 회전이란?
배열 회전은 배열의 요소들을 일정 횟수(k)만큼 새로운 위치로 이동시키는 과정입니다.
배열 회전에는 두 가지 유형이 있습니다:
- 시계 방향 회전 (오른쪽 회전 / 오른쪽 시프트)
- 반시계 방향 회전 (왼쪽 회전 / 왼쪽 시프트)
시계 방향 회전
시계 방향 회전은 배열의 요소들을 오른쪽으로 이동시키는 것을 의미합니다.
시계 방향 회전 단계
- 전체 배열을 역순으로 바꿉니다.
- 처음 k 개 요소(인덱스 0부터 k – 1까지)를 역순으로 바꿉니다.
- k부터 size – 1까지의 요소들을 역순으로 바꿉니다.
class Main {
public static void reverseArray(int[] arr, int sIndex, int eIndex) {
while (sIndex length
System.out.println("original Array : ");
for (int i = 0; i < num.length; i++) {
System.out.print(num[i] + " ");
}
// step 1: reverse whole array
reverseArray(num, 0, num.length - 1);
// step 2: reverse first k elements
reverseArray(num, 0, k - 1);
// step 3: reverse remaining elements
reverseArray(num, k, num.length - 1);
System.out.println();
System.out.println("After " + k + "th clock wise rotation : ");
for (int i = 0; i < num.length; i++) {
System.out.print(num[i] + " ");
}
}
}
샘플 출력
original Array :
10 20 30 40 50
After 2th clock wise rotation :
40 50 10 20 30