2026 국가직9급 컴퓨터일반 20번 해설 — C 배열 회전
정답 ②번출제 쟁점 C 배열 회전발문 옳은 것 고르기
문제
다음 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 2 3 4 5
- ② 3 4 5 1 2 ← 정답
- ③ 4 5 1 2 3
- ④ 5 1 2 3 4
선지별 해설
① 1 2 3 4 5
이 선지 진술은 틀림(X)
k는 5로 나눈 나머지 2가 되므로 배열은 왼쪽으로 두 번 회전한다. 출력은 3 4 5 1 2이다.
② 3 4 5 1 2
이 선지 진술은 옳음(O)
rotate 함수에서 k%=n이므로 7은 2로 줄어든다. 두 번 왼쪽 회전하면 3 4 5 1 2가 된다.
③ 4 5 1 2 3
이 선지 진술은 틀림(X)
7번 회전은 길이 5에서 2번 회전과 같다. 왼쪽 두 칸 회전 결과는 3 4 5 1 2이다.
④ 5 1 2 3 4
이 선지 진술은 틀림(X)
한 번 왼쪽 회전하면 2 3 4 5 1이고, 두 번 회전하면 3 4 5 1 2이다.
핵심 요약 (Q&A)
- Q. 2026 국가직9급 컴퓨터일반 20번의 핵심 쟁점은 무엇인가?
- A. 2026 국가직9급 컴퓨터일반 20번은 C 배열 회전에 관한 문항으로, "옳은 것"을 고르는 문제입니다.
- Q. 2026 국가직9급 컴퓨터일반 20번의 정답은?
- A. 정답은 ②번입니다. rotate 함수에서 k%=n이므로 7은 2로 줄어든다. 두 번 왼쪽 회전하면 3 4 5 1 2가 된다.