[9급 국가직 컴퓨터일반 2026년 20번]

다음 C 프로그램의 출력 결과는?
#include <stdio.h>

void rotate(int *a, int n, int k) {
    k %= n;
    while (k--) {
        int first = a[0];
        int i;
        for (i = 0; i < n - 1; i++) {
            a[i] = a[i + 1];
        }
        a[n - 1] = first;
    }
}

int main(void) {
    int arr[] = {1, 2, 3, 4, 5};
    rotate(arr, 5, 7);
    int i;
    for (i = 0; i < 5; i++) {
        printf("%d ", arr[i]);
    }
    return 0;
}
컴퓨터일반
  1. 1 2 3 4 5
  2. 3 4 5 1 2
  3. 4 5 1 2 3
  4. 5 1 2 3 4
정답 ②

출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)