[9급 국가직 컴퓨터일반] 26년 1회차 기출문제 정답·해설 페이지

[9급 국가직 컴퓨터일반] 26년 1회차
    1[9급 국가직 컴퓨터일반] 26년 1회차
    기억장치를 접근 속도가 빠른 것부터 순서대로 바르게 나열한 것은?
    1
    캐시 → 레지스터 → 주기억장치
    2
    레지스터 → 캐시 → 주기억장치
    3
    레지스터 → 주기억장치 → 캐시
    4
    주기억장치 → 캐시 → 레지스터
    해설

    기억장치의 접근 속도는 레지스터 → 캐시 → 주기억장치 순으로 빠르다.

    CPU 내부의 레지스터가 가장 빠르고, 캐시는 CPU와 주기억장치의 속도 차이를 줄이는 완충 기억장치이며, 주기억장치는 그보다 느리다.

    • 캐시를 레지스터보다 앞에 둔 순서: 레지스터가 캐시보다 빠르므로 틀리다.
    • 주기억장치를 캐시보다 앞에 둔 순서: 캐시가 주기억장치보다 빠르므로 틀리다.
    • 주기억장치에서 시작해 레지스터로 끝나는 순서: 느린 것부터 나열한 역순이다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    2[9급 국가직 컴퓨터일반] 26년 1회차
    CPU의 연산을 처리하기 위한 데이터의 기본 단위로서 CPU가
    한 번에 처리할 수 있는 데이터 크기를 나타내는 것은?
    1
    비트(bit)
    2
    바이트(byte)
    3
    워드(word)
    4
    니블(nibble)
    해설

    CPU가 한 번에 처리할 수 있는 데이터 단위는 워드(word)이다.

    워드의 크기는 CPU 구조(레지스터 폭)에 따라 달라지며, 명령어와 연산 처리의 기본 단위가 된다.

    • 비트: 0 또는 1을 나타내는 정보의 최소 단위이다.
    • 바이트: 8비트로 이루어지며 문자 표현과 주소 지정의 기본 단위이다.
    • 니블: 4비트 묶음으로, 16진수 한 자리에 해당한다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    3[9급 국가직 컴퓨터일반] 26년 1회차
    특정 환경에서 선택 가능한 행동들 중 보상(reward)을 최대화하는
    행동을 선택하는 머신러닝(machine learning) 기법은?
    1
    지도 학습(supervised learning)
    2
    강화 학습(reinforcement learning)
    3
    비지도 학습(unsupervised learning)
    4
    준지도 학습(semi-supervised learning)
    해설

    환경과 상호작용하며 보상을 최대화하는 행동을 학습하는 기법은 강화 학습이다.

    에이전트가 행동을 선택하면 환경이 보상을 돌려주고, 에이전트는 누적 보상이 커지도록 행동 정책을 개선해 나간다.

    • 지도 학습: 정답(레이블)이 붙은 데이터로 입력과 출력의 관계를 학습한다.
    • 비지도 학습: 레이블 없이 데이터의 구조나 군집을 찾는다.
    • 준지도 학습: 소량의 레이블 데이터와 다량의 비레이블 데이터를 함께 사용한다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    4[9급 국가직 컴퓨터일반] 26년 1회차
    10진수 연산 (-25 + 4)를 2의 보수를 이용하여 계산한 결과를
    2진수로 표현한 것은? (단, 저장 공간은 8비트로 한다)
    1
    00010101
    2
    10010101
    3
    11101010
    4
    11101011
    해설

    −25 + 4 = −21이므로, 8비트 2의 보수로 나타낸 결과는 11101011이다.

    21을 2진수로 쓰면 00010101이다.
    1의 보수를 취하면 11101010이다.
    여기에 1을 더한 11101011이 −21의 2의 보수 표현이다.

    검산: −25(11100111) + 4(00000100) = 11101011로 같다.

    • 00010101: +21로 부호가 반대이다.
    • 10010101: 21의 크기에 부호 비트만 1로 바꾼 부호-절댓값 표현이다.
    • 11101010: 1을 더하지 않은 1의 보수 표현이다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    5[9급 국가직 컴퓨터일반] 26년 1회차
    네트워크 시스템을 관리하기 위한 UDP 기반의 프로토콜은?
    1
    SNMP
    2
    SMTP
    3
    ICMP
    4
    RARP
    해설

    UDP 기반으로 네트워크 장비를 감시·관리하는 프로토콜은 SNMP(Simple Network Management Protocol)이다.

    관리자(매니저)가 장비의 에이전트에 정보를 요청·설정하고, 에이전트는 이벤트를 트랩으로 알린다. 표준 포트로 UDP 161(요청)과 162(트랩)를 사용한다.

    • SMTP: 전자우편 전송 프로토콜로 TCP를 사용한다.
    • ICMP: IP 계층에서 오류·제어 메시지를 전달하는 프로토콜로, UDP 위에서 동작하지 않는다.
    • RARP: MAC 주소로부터 IP 주소를 얻는 주소 변환 프로토콜이다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    6[9급 국가직 컴퓨터일반] 26년 1회차
    레지스터에 저장된 10진수 정수 29를 2비트만큼 논리적 우측
    시프트(logical right shift)한 결과에 해당하는 10진수의 값은?
    1
    4
    2
    7
    3
    8
    4
    15
    해설

    29를 2비트 논리적 우측 시프트하면 7이 된다.

    29를 2진수로 쓰면 11101이다.
    오른쪽으로 2비트 밀면 하위 01이 버려지고 왼쪽은 0으로 채워져 00111이 된다.
    00111 = 4 + 2 + 1 = 7이다.

    양의 정수를 n비트 논리적 우측 시프트하면 2n2^{n}으로 나눈 몫과 같다: 29÷4=7⋯129 \div 4 = 7 \cdots 1

    • 값 4: 2진수 100으로, 시프트 결과 111과 다르다.
    • 값 8: 2진수 1000으로, 시프트 결과 111과 다르다.
    • 값 15: 2진수 1111로, 시프트 결과 111과 다르다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    7[9급 국가직 컴퓨터일반] 26년 1회차
    다음 설명에 해당하는 소프트웨어 개발 프로세스 모델은?
    초기 요구분석 후 프로토타입을 개발하기 이전에 위험 분석
    단계를 거친다. 이렇게 만들어진 프로토타입을 사용자가 평가하고,
    개발자는 추가 요구사항을 반영하여 다시 위험 분석을 거쳐 2차
    프로토타입을 만든다. 이 과정을 반복하면서 사용자의 요구사항이
    충분히 반영된 최종 제품을 완성해 나간다.
    1
    나선형 모델
    2
    폭포수 모델
    3
    CBD 모델
    4
    SPICE 모델
    해설

    위험 분석을 거쳐 프로토타입을 반복적으로 개선하는 모델은 나선형(spiral) 모델이다.

    나선형 모델은 계획 수립 → 위험 분석 → 개발(프로토타입) → 고객 평가의 주기를 반복하며 점진적으로 완성도를 높인다.

    • 폭포수 모델: 각 단계를 순차적으로 한 번씩 진행하며, 반복적인 위험 분석·프로토타입 주기가 없다.
    • CBD 모델: 재사용 가능한 컴포넌트를 조립해 소프트웨어를 개발하는 방법론이다.
    • SPICE 모델: 소프트웨어 프로세스의 능력 수준을 평가하는 국제 표준(ISO/IEC 15504)이다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    8[9급 국가직 컴퓨터일반] 26년 1회차
    메모리에 대한 설명으로 옳은 것만을 모두 고르면?
    ㄱ. 플래시 메모리는 NAND형과 NOR형이 있다.
    ㄴ. SRAM은 DRAM에 비해 접근 속도가 빠른 편이다.
    ㄷ. ROM은 휘발성 메모리로 전원 없이 데이터를 유지할 수
    없다.
    ㄹ. EPROM은 자외선 등을 사용하여 여러 번 저장된 내용을
    지우고 다른 내용을 기록할 수 있다.
    1
    ㄱ, ㄴ
    2
    ㄴ, ㄷ
    3
    ㄷ, ㄹ
    4
    ㄱ, ㄴ, ㄹ
    해설

    옳은 설명은 ㄱ, ㄴ, ㄹ이다.

    ROM은 비휘발성 메모리로 전원이 꺼져도 데이터가 유지되므로, 휘발성이라고 한 ㄷ만 틀렸다.

    • ㄱ: 플래시 메모리는 셀 연결 방식에 따라 NAND형(대용량 저장)과 NOR형(빠른 임의 읽기)으로 나뉜다.
    • ㄴ: SRAM은 플립플롭으로 구성되어 재충전이 필요 없고 DRAM보다 빨라 캐시에 쓰인다.
    • ㄹ: EPROM은 자외선을 쬐어 내용을 지우고 다시 기록할 수 있다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    9[9급 국가직 컴퓨터일반] 26년 1회차
    모듈의 응집도(cohesion) 및 결합도(coupling)에 대한 설명으로 옳지
    않은 것은?
    1
    한 모듈이 다른 모듈 내부를 직접 참조하는 경우는 내용(content) 결합도에 해당한다.
    2
    응집도는 하나의 모듈 내에서 구성 요소들이 얼마나 밀접하게 관련되어 있는지를 나타낸다.
    3
    모듈을 구성하는 한 요소의 출력이 다음 요소의 입력으로 사용되는 경우는 순차적(sequential) 응집도에 해당한다.
    4
    레코드, 구조체 또는 객체와 같은 복잡한 데이터 구조를 모듈 인터페이스를 통해 주고받는 경우는 데이터(data) 결합도에 해당한다.
    해설

    레코드·구조체 같은 자료 구조를 인터페이스로 주고받는 것은 데이터 결합도가 아니라 스탬프(stamp) 결합도이다.

    데이터 결합도는 모듈 간에 단순한 데이터 값(기본형 매개변수)만 주고받는 경우로, 결합도가 가장 낮은 바람직한 형태이다.

    • 내용 결합도: 다른 모듈의 내부 데이터나 코드를 직접 참조·변경하는 경우이므로 옳다.
    • 응집도의 정의: 모듈 내부 구성 요소들이 기능적으로 관련된 정도를 나타내므로 옳다.
    • 순차적 응집도: 한 요소의 출력이 다음 요소의 입력이 되는 경우이므로 옳다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    10[9급 국가직 컴퓨터일반] 26년 1회차
    다음 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;
    }
    1
    6 2 8
    2
    8 2 6
    3
    8 2 8
    4
    8 8 2
    해설

    출력 결과는 8 2 8이다.

    func는 배열 양 끝 포인터를 안쪽으로 좁히며 대칭 원소의 합을 출력하고, p가 q보다 뒤로 넘어가면 종료한다.

    1회: a[0] + a[4] = 3 + 5 = 8
    2회: a[1] + a[3] = 1 + 1 = 2
    3회: p와 q가 모두 a[2]이므로 4 + 4 = 8
    4회: p가 a[3], q가 a[1]이 되어 p > q로 반환

    • 6 2 8: 첫 출력은 3 + 5 = 8이므로 틀리다.
    • 8 2 6: 가운데 원소 4를 자기 자신과 더한 8이 마지막에 출력되므로 틀리다.
    • 8 8 2: 바깥쪽에서 안쪽으로 진행하므로 두 번째 출력은 1 + 1 = 2이다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    11[9급 국가직 컴퓨터일반] 26년 1회차
    데이터베이스 뷰(view)에 대한 설명으로 옳지 않은 것은?
    1
    뷰를 이용하여 다른 뷰를 정의할 수 있다.
    2
    뷰를 제거할 때는 DELETE VIEW 명령을 사용한다.
    3
    뷰는 다른 테이블에서 유도된 가상 테이블이다.
    4
    뷰를 이용하여 사용자별로 필요한 데이터만 선별하여 보여줄 수 있다.
    해설

    뷰를 제거하는 SQL 명령은 DELETE VIEW가 아니라 DROP VIEW이다.

    DELETE는 테이블의 행을 삭제하는 DML이고, 뷰·테이블 같은 객체 정의를 제거하는 것은 DDL인 DROP이다.

    • 뷰로 다른 뷰 정의: 기존 뷰를 기반으로 새 뷰를 만들 수 있으므로 옳다.
    • 가상 테이블: 뷰는 기본 테이블에서 유도되며 물리적으로 저장되지 않는 가상 테이블이므로 옳다.
    • 사용자별 데이터 선별: 필요한 열·행만 보여 주어 보안과 편의를 제공하므로 옳다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    12[9급 국가직 컴퓨터일반] 26년 1회차
    2진 소수로 변환하면 무한 순환 소수가 되는 10진 소수는?
    1
    0.25
    2
    0.375
    3
    0.4
    4
    0.5
    해설

    2진 유한 소수가 되려면 기약분수의 분모가 2의 거듭제곱이어야 하므로, 0.4만 무한 순환 소수가 된다.

    0.4=250.4 = \dfrac{2}{5}로 분모에 5가 남는다.
    2를 곱해 정수부를 떼어 내면 0.8 → 1.6 → 1.2 → 0.4 …로 되풀이되어 0.0110 0110 …(2)이 된다.

    • 0.25: 14\dfrac{1}{4}이므로 0.01(2)로 유한 소수이다.
    • 0.375: 38\dfrac{3}{8}이므로 0.011(2)로 유한 소수이다.
    • 0.5: 12\dfrac{1}{2}이므로 0.1(2)로 유한 소수이다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    13[9급 국가직 컴퓨터일반] 26년 1회차
    다음 릴레이션에서 속성 A ~ D의 함수 종속을 화살표(→)로 표현할 때
    옳은 것은? (단, 아래 투플을 기준으로 판단하며, 새로운 투플은
    추가되지 않는다고 가정한다)
    ABCD
    1277
    2856
    2656
    4872
    1
    A → B
    2
    B → C
    3
    {A, D} → B
    4
    {C, D} → A
    해설

    주어진 투플에서 성립하는 함수 종속은 {C, D} → A이다.

    X → Y는 X 값이 같은 투플끼리 Y 값도 반드시 같아야 성립한다. (C, D) 값은 (7, 7), (5, 6), (5, 6), (7, 2)이며, 같은 (5, 6)인 두 투플의 A가 모두 2이므로 성립한다.

    • A → B: A가 2인 두 투플의 B가 8과 6으로 달라 성립하지 않는다.
    • B → C: B가 8인 두 투플의 C가 5와 7로 달라 성립하지 않는다.
    • {A, D} → B: (A, D)가 (2, 6)인 두 투플의 B가 8과 6으로 달라 성립하지 않는다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    14[9급 국가직 컴퓨터일반] 26년 1회차
    FIFO 페이지 교체 알고리즘을 사용하는 가상메모리에서 프로세스
    P가 다음과 같은 페이지 번호 순서대로 페이지에 접근할 때, 페이지
    부재(page-fault) 발생 횟수는? (단, 프로세스 P가 사용하는 페이지
    프레임은 총 3개이고, 빈 상태에서 시작한다)
    8 1 2 3 1 4 5 3 4 1 4 3
    1
    6회
    2
    7회
    3
    8회
    4
    9회
    해설

    페이지 부재는 8회 발생한다.

    FIFO는 가장 먼저 적재된 페이지를 교체한다. 프레임 3개로 추적하면 다음과 같다(F는 부재).
    8(F) [8] → 1(F) [8, 1] → 2(F) [8, 1, 2] → 3(F) [1, 2, 3] → 1 적중 → 4(F) [2, 3, 4] → 5(F) [3, 4, 5] → 3 적중 → 4 적중 → 1(F) [4, 5, 1] → 4 적중 → 3(F) [5, 1, 3]

    부재 = 초기 적재 3회 + 교체 5회 = 8회

    • 6회: 교체로 인한 부재를 둘이나 빠뜨린 값이다.
    • 7회: 1이 들어올 때 3이 교체되어 마지막 3 접근에서 다시 부재가 나는 점을 놓친 값이다.
    • 9회: 적중인 접근 하나를 부재로 잘못 센 값이다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    15[9급 국가직 컴퓨터일반] 26년 1회차
    IPv4 주소의 첫 번째 바이트와 각 바이트에 해당하는 클래스가 옳게
    짝지어지지 않은 것은?
    1
    00010011 - Class C
    2
    01001010 - Class A
    3
    10010011 - Class B
    4
    11100110 - Class D
    해설

    00010011은 첫 비트가 0이므로 Class A이며, Class C로 짝지은 것이 옳지 않다.

    IPv4 클래스는 첫 바이트의 선두 비트로 구분한다: 0 → A, 10 → B, 110 → C, 1110 → D, 1111 → E.

    • 01001010: 선두 비트가 0이므로 Class A로 옳다.
    • 10010011: 선두 비트가 10이므로 Class B로 옳다.
    • 11100110: 선두 비트가 1110이므로 Class D로 옳다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    16[9급 국가직 컴퓨터일반] 26년 1회차
    다음 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();
    }
    }
    1
    32
    2
    432
    3
    3214
    4
    4312
    해설

    출력 결과는 4312이다.

    main은 ClassB의 정적 메서드이므로 실행 전에 ClassB가 초기화되고, 그에 앞서 상위 클래스 ClassA의 static 초기화 블록이 실행되어 4가 먼저 출력된다.

    이어서 main이 3을 출력하고, new ClassB()에서 묵시적 super()로 ClassA()가 먼저 실행되어 1, 그다음 ClassB() 본문이 2를 출력한다(생성자 실행 순서: 상위 → 하위).

    • 출력 32: static 블록과 상위 클래스 생성자의 출력을 모두 빠뜨렸다.
    • 출력 432: 상위 생성자가 출력하는 1을 빠뜨렸다.
    • 출력 3214: static 블록이 main보다 먼저 실행되고 상위 생성자가 하위 생성자보다 먼저 실행된다는 점을 반영하지 않았다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    17[9급 국가직 컴퓨터일반] 26년 1회차
    교착상태(deadlock)에 대한 설명으로 옳은 것만을 모두 고르면?
    ㄱ. 교착상태 발생의 필요조건은 상호 배제, 선점, 점유와 대기,
    선형 대기이다.
    ㄴ. 프로세스를 강제로 종료해서 교착상태 문제를 처리하는 것은
    교착상태 회복 기법에 해당한다.
    ㄷ. 어떤 제약을 가하지 않고 자원 할당 그래프를 지속적으로
    모니터링하면서 교착상태 발생 여부를 살펴보는 것은 교착상태
    예방 기법에 해당한다.
    ㄹ. 은행원 알고리즘(banker’s algorithm) 등을 이용하여
    안전(safe) 상태를 유지할 수 있는 범위 내에서 자원을
    할당하는 것은 교착상태 회피 기법에 해당한다.
    1
    ㄱ, ㄴ
    2
    ㄱ, ㄷ
    3
    ㄴ, ㄹ
    4
    ㄷ, ㄹ
    해설

    옳은 설명은 ㄴ, ㄹ이다.

    프로세스 강제 종료는 교착상태 회복 기법이고, 은행원 알고리즘으로 안전 상태를 유지하며 자원을 할당하는 것은 회피 기법이다.

    • ㄱ: 필요조건은 상호 배제, 점유와 대기, 비선점, 순환 대기이므로 '선점'과 '선형 대기'는 틀렸다.
    • ㄷ: 제약 없이 자원 할당 그래프를 감시해 발생 여부를 확인하는 것은 예방이 아니라 탐지 기법이다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    18[9급 국가직 컴퓨터일반] 26년 1회차
    다음 파이썬 코드로 작성된 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
    배열732191351117
    1
    2, 3, 5, 7, 13, 11, 17, 19
    2
    2, 3, 5, 11, 7, 13, 17, 19
    3
    2, 3, 5, 11, 13, 7, 17, 19
    4
    7, 3, 2, 11, 13, 5, 17, 19
    해설

    주어진 partition()으로 정렬하면 2, 3, 5, 11, 7, 13, 17, 19는 나타나지 않는다.

    단계별 추적(피벗은 각 구간의 마지막 원소):
    구간 [0~7], 피벗 17: 7, 3, 2, 11, 13, 5, 17, 19
    구간 [0~5], 피벗 5: 2, 3, 5, 11, 13, 7, 17, 19
    구간 [0~1], 피벗 3: 변화 없음
    구간 [3~5], 피벗 7: 2, 3, 5, 7, 13, 11, 17, 19
    구간 [4~5], 피벗 11: 2, 3, 5, 7, 11, 13, 17, 19

    구간 [3~5]에서 피벗 7이 맨 앞 11과 자리를 바꾸므로 11, 7, 13 배치는 어느 단계에서도 생기지 않는다.

    • 7, 3, 2, 11, 13, 5, 17, 19: 피벗 17로 처음 분할한 결과이다.
    • 2, 3, 5, 11, 13, 7, 17, 19: 피벗 5로 왼쪽 구간을 분할한 결과이다.
    • 2, 3, 5, 7, 13, 11, 17, 19: 피벗 7로 구간 [3~5]를 분할한 결과이다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    19[9급 국가직 컴퓨터일반] 26년 1회차
    디스크 스케줄링 기법 중 SSTF를 사용하여 다음과 같은 작업 대기 큐
    (디스크 큐)의 작업을 처리하고자 하는 경우, 처리되는 트랙의 순서를
    바르게 나열한 것은? (단, 추가 I/O 요청은 없다고 가정한다)
    ○ 작업 대기 큐: 15, 4, 8, 120, 65, 70, 105
    ○ 헤드 시작 위치: 50
    1
    65 → 70 → 105 → 120 → 15 → 8 → 4
    2
    65 → 70 → 120 → 105 → 15 → 8 → 4
    3
    70 → 65 → 105 → 120 → 15 → 8 → 4
    4
    70 → 65 → 120 → 15 → 8 → 4 → 105
    해설

    SSTF로 처리하면 65 → 70 → 105 → 120 → 15 → 8 → 4 순이다.

    SSTF는 현재 헤드 위치에서 탐색 거리가 가장 짧은 요청을 먼저 처리한다.
    50에서 65(거리 15, 70은 20)
    65에서 70(거리 5)
    70에서 105(거리 35, 15는 55)
    105에서 120(거리 15)
    120에서 15(거리 105) → 8 → 4

    • 70 다음 120을 처리하는 순서: 70에서는 120(거리 50)보다 105(거리 35)가 가깝다.
    • 70 → 65 → 105로 시작하는 순서: 50에서는 70(거리 20)보다 65(거리 15)가 가깝다.
    • 70 → 65 → 120으로 시작해 105를 마지막에 두는 순서: 첫 선택부터 틀렸고, 120 다음에도 가장 가까운 요청을 고르지 않았다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    20[9급 국가직 컴퓨터일반] 26년 1회차
    다음 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
    해설

    출력 결과는 3 4 5 1 2이다.

    rotate는 맨 앞 원소를 맨 뒤로 보내는 왼쪽 1칸 회전을 k회 반복한다.
    k %= n에서 k = 7 % 5 = 2이므로 두 차례만 회전한다.

    1회: 2 3 4 5 1
    2회: 3 4 5 1 2

    • 1 2 3 4 5: 회전 횟수가 5의 배수일 때의 결과로, 나머지 두 차례 회전이 남으므로 틀리다.
    • 4 5 1 2 3: 오른쪽으로 2칸 회전했을 때의 결과이다.
    • 5 1 2 3 4: 오른쪽으로 1칸 회전했을 때의 결과이다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.

[9급 국가직 컴퓨터일반] 26년 1회차 시험지 PDF 다운로드·인쇄 →

전 회차를 한 권으로 — 9급 국가직 컴퓨터일반 기출문제 PDF 전자책(문제집·정답해설집) →

[9급 국가직 컴퓨터일반] 26년 1회차 정답과 해설은 무료인가요?

이 페이지의 20문항 정답과 해설은 로그인 없이 무료로 볼 수 있습니다. 무제한 풀이·실전 모의고사·PDF 출력·전자책 다운로드는 베이직 플랜에 포함됩니다.

이 회차를 CBT 로 직접 풀어볼 수 있나요?

9급 국가직 컴퓨터일반 기출문제 암기장에서 이 회차를 회차별·랜덤으로 풀고 오답노트에 자동으로 모을 수 있습니다. 9급 국가직 컴퓨터일반 기출문제 풀러 가기 →

시험지 PDF 나 전자책으로도 볼 수 있나요?

이 회차의 인쇄용 시험지 PDF 와, 전 회차를 문제집·정답해설집으로 묶은 PDF 전자책을 제공합니다. 9급 국가직 컴퓨터일반 기출문제 PDF 전자책 보기 →

[9급 국가직 컴퓨터일반] 26년 1회차 문항별 상세 페이지 전체 보기