/ 기출문제 / 2026 / 국가직 / 9급 / 컴퓨터일반
기출문제 정답 검증

2026 국가직 9급 공무원 컴퓨터일반 기출문제

가책형 · 20문제 · 제한시간 20분 · 온라인 CBT

원본 PDF 다운로드
1

기억장치를 접근 속도가 빠른 것부터 순서대로 바르게 나열한 것은?

2

CPU의 연산을 처리하기 위한 데이터의 기본 단위로서 CPU가 한 번에 처리할 수 있는 데이터 크기를 나타내는 것은?

3

특정 환경에서 선택 가능한 행동들 중 보상(reward)을 최대화하는 행동을 선택하는 머신러닝(machine learning) 기법은?

4

10진수 연산 (-25 + 4)를 2의 보수를 이용하여 계산한 결과를 2진수로 표현한 것은? (단, 저장 공간은 8비트로 한다)

5

네트워크 시스템을 관리하기 위한 UDP 기반의 프로토콜은?

6

레지스터에 저장된 10진수 정수 29를 2비트만큼 논리적 우측 시프트(logical right shift)한 결과에 해당하는 10진수의 값은?

7

다음 설명에 해당하는 소프트웨어 개발 프로세스 모델은?

초기 요구분석 후 프로토타입을 개발하기 이전에 위험 분석 단계를 거친다. 이렇게 만들어진 프로토타입을 사용자가 평가하고, 개발자는 추가 요구사항을 반영하여 다시 위험 분석을 거쳐 2차 프로토타입을 만든다. 이 과정을 반복하면서 사용자의 요구사항이 충분히 반영된 최종 제품을 완성해 나간다.

8

메모리에 대한 설명으로 옳은 것만을 모두 고르면?

  • ㄱ. 플래시 메모리는 NAND형과 NOR형이 있다.
  • ㄴ. SRAM은 DRAM에 비해 접근 속도가 빠른 편이다.
  • ㄷ. ROM은 휘발성 메모리로 전원 없이 데이터를 유지할 수 없다.
  • ㄹ. EPROM은 자외선 등을 사용하여 여러 번 저장된 내용을 지우고 다른 내용을 기록할 수 있다.
9

모듈의 응집도(cohesion) 및 결합도(coupling)에 대한 설명으로 옳지 않은 것은?

10

다음 C 프로그램의 출력 결과는?

#include <stdio.h>
void func(int *p, int *q) {
    if (p > q) return;
    printf("%d ", *p + *q);
    func(p + 1, q - 1);
}
int main(void) {
    int a[] = { 3, 1, 4, 1, 5 };
    func(a, a + 4);
    return 0;
}
11

데이터베이스 뷰(view)에 대한 설명으로 옳지 않은 것은?

12

2진 소수로 변환하면 무한 순환 소수가 되는 10진 소수는?

13

다음 릴레이션에서 속성 A ~ D의 함수 종속을 화살표(→)로 표현할 때 옳은 것은? (단, 아래 투플을 기준으로 판단하며, 새로운 투플은 추가되지 않는다고 가정한다)

  • A | B | C | D
  • 1 | 2 | 7 | 7
  • 2 | 8 | 5 | 6
  • 2 | 6 | 5 | 6
  • 4 | 8 | 7 | 2
14

FIFO 페이지 교체 알고리즘을 사용하는 가상메모리에서 프로세스 P가 다음과 같은 페이지 번호 순서대로 페이지에 접근할 때, 페이지 부재(page-fault) 발생 횟수는? (단, 프로세스 P가 사용하는 페이지 프레임은 총 3개이고, 빈 상태에서 시작한다)

8 1 2 3 1 4 5 3 4 1 4 3

15

IPv4 주소의 첫 번째 바이트와 각 바이트에 해당하는 클래스가 옳게 짝지어지지 않은 것은?

16

다음 Java 프로그램의 출력 결과는?

class ClassA {
    ClassA() {
        System.out.print("1");
    }
    static {
       System.out.print("4");
    }
}
public class ClassB extends ClassA {
    ClassB() {
        System.out.print("2");
    }
    public static void main(String[] args) {
        System.out.print("3");
        new ClassB();
    }
}
17

교착상태(deadlock)에 대한 설명으로 옳은 것만을 모두 고르면?

  • ㄱ. 교착상태 발생의 필요조건은 상호 배제, 선점, 점유와 대기, 선형 대기이다.
  • ㄴ. 프로세스를 강제로 종료해서 교착상태 문제를 처리하는 것은 교착상태 회복 기법에 해당한다.
  • ㄷ. 어떤 제약을 가하지 않고 자원 할당 그래프를 지속적으로 모니터링하면서 교착상태 발생 여부를 살펴보는 것은 교착상태 예방 기법에 해당한다.
  • ㄹ. 은행원 알고리즘(banker's algorithm) 등을 이용하여 안전(safe) 상태를 유지할 수 있는 범위 내에서 자원을 할당하는 것은 교착상태 회피 기법에 해당한다.
18

다음 파이썬 코드로 작성된 partition() 함수를 이용하여, 주어진 배열을 퀵 정렬(quick sort)로 오름차순 정렬하고자 한다. 정렬 과정에서 단계별 정렬 순서로 나타날 수 없는 것은? (단, 피벗(pivot)은 정렬하고자 하는 대상의 마지막 원소로 선택한다)

# 정렬하고자 하는 대상인 A[first]…A[last]를
# 피벗(A[last]) 기준으로 분할하는 함수
def partition(A, first, last):
    p = A[last]
    low = first
    high = last
    while low < high:
        while p > A[low] and low < high:
            low += 1
        while p <= A[high] and low < high:
            high -= 1
        if low < high:
            A[low], A[high] = A[high], A[low]
    A[low], A[last] = A[last], A[low]
    return low

배열: 7 3 2 19 13 5 11 17

19

디스크 스케줄링 기법 중 SSTF를 사용하여 다음과 같은 작업 대기 큐(디스크 큐)의 작업을 처리하고자 하는 경우, 처리되는 트랙의 순서를 바르게 나열한 것은? (단, 추가 I/O 요청은 없다고 가정한다)

  • ○ 작업 대기 큐: 15, 4, 8, 120, 65, 70, 105
  • ○ 헤드 시작 위치: 50
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;
}

20:00

0/20