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

[국회직 9급 컴퓨터일반] 17년 1회차
    1[국회직 9급 컴퓨터일반] 17년 1회차
    CPU의 주소지정 방식 중 간접 주소지정 방식(indirect addressing mode)을 이용하는 이유로 옳은 것은?
    1
    메모리에 직접 접근하지 못하게 하여 보안을 강화한다.
    2
    메모리 접근 속도를 빠르게 한다.
    3
    제작 비용을 절감한다.
    4
    CPU의 실행 속도를 빠르게 한다.
    5
    지정 가능한 주소 범위를 확대한다.
    해설

    간접 주소지정 방식을 쓰는 이유는 지정 가능한 주소 범위의 확대이다.

    명령어의 주소 필드는 비트 수가 짧아 표현할 수 있는 주소가 제한된다. 간접 방식은 이 필드에 실제 주소가 저장된 위치를 담고, 메모리의 한 워드 전체를 주소로 쓰므로 더 넓은 공간을 가리킬 수 있다.

    • 보안 강화: 메모리에 접근하지 못하게 하는 기법이 아니라, 오히려 메모리를 거쳐 주소를 얻는 방식이다.
    • 메모리 접근 속도 향상: 주소를 읽기 위한 메모리 접근이 한 번 더 필요해 유효 데이터 접근은 더 느려진다.
    • 제작 비용 절감: 주소 해석 방식일 뿐 비용 절감을 위한 기법이 아니다.
    • CPU 실행 속도 향상: 추가 메모리 접근 때문에 명령어 실행 시간은 늘어난다.

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

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    2[국회직 9급 컴퓨터일반] 17년 1회차
    자신이 수행한 행동(action)에 따른 보상(reward)을 통해 스스로 문제 해결방법을 찾아내도록 하는 기계학습(machine learning) 기법으로 옳은 것은?
    1
    베이시안 네트워크(bayesian network)
    2
    지도학습(supervised learning)
    3
    군집화(clustering)
    4
    경사 하강법(gradient descent method)
    5
    강화학습(reinforcement learning)
    해설

    행동에 따른 보상으로 스스로 해결 방법을 찾는 기법은 강화학습이다.

    강화학습의 에이전트는 환경에서 행동을 시도하고, 받은 보상을 최대화하는 방향으로 행동 전략을 개선한다.

    • 베이시안 네트워크: 변수 사이의 확률적 의존 관계를 그래프로 표현하는 모델이다.
    • 지도학습: 정답(레이블)이 붙은 데이터로 입력과 출력의 관계를 학습한다.
    • 군집화: 레이블 없이 비슷한 데이터끼리 묶는 비지도학습 기법이다.
    • 경사 하강법: 손실 함수의 기울기를 따라 값을 줄여 가는 최적화 방법이다.

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

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    3[국회직 9급 컴퓨터일반] 17년 1회차
    가상메모리(virtual memory) 관리 기법에 대한 설명으로 옳지 않은 것은?
    1
    프로그램의 크기가 실제 메모리의 크기보다 커도 실행이 가능하다.
    2
    페이지 방식은 페이지 사상 작업으로 인하여 비용이 증가하고 수행속도가 감소한다.
    3
    페이지 방식은 페이지를 작게 설계하여 내부 단편화를 줄일 수 있다.
    4
    세그먼트 방식은 동적 메모리 할당 방법으로 외부 단편화가 발생하지 않는다.
    5
    세그먼트 방식은 세그먼트 번호와 변위(offset)로 구성하는 가상주소를 만든다.
    해설

    옳지 않은 설명은 세그먼트 방식에 외부 단편화가 발생하지 않는다는 내용이다.

    세그먼트는 크기가 서로 달라 메모리에 동적으로 할당하고 해제하는 과정에서 조각난 빈 공간이 생긴다. 즉 세그먼트 방식에서는 외부 단편화가 발생한다.

    • 실제 메모리보다 큰 프로그램 실행: 필요한 부분만 적재하므로 가상메모리의 기본 장점이 맞다.
    • 페이지 사상의 부담: 주소 변환 과정이 추가되어 비용이 늘고 수행속도가 떨어지는 것이 맞다.
    • 작은 페이지와 내부 단편화: 페이지가 작을수록 마지막 페이지에 남는 공간이 줄어 내부 단편화가 감소한다.
    • 세그먼트의 가상주소: 세그먼트 번호와 변위로 구성되는 것이 맞다.

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

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    4[국회직 9급 컴퓨터일반] 17년 1회차
    UNIX 파일 시스템에서 i-node에 존재하는 정보로 옳지 않은 것은?
    1
    파일 이름
    2
    파일 저장 위치
    3
    파일 생성 일시
    4
    파일 소유자
    5
    파일 접근권한 비트
    해설

    i-node에 존재하지 않는 정보는 파일 이름이다.

    UNIX에서 파일 이름은 디렉터리 항목에 저장되며, 디렉터리 항목이 이름과 i-node 번호를 연결한다. 그래서 한 i-node에 여러 이름을 연결하는 하드 링크가 가능하다.

    • 파일 저장 위치: 데이터 블록을 가리키는 포인터로 i-node에 들어 있다.
    • 파일 생성 일시: 파일의 시간 정보는 i-node가 관리하는 메타데이터에 해당한다.
    • 파일 소유자: 소유자 정보가 i-node에 기록된다.
    • 파일 접근권한 비트: 읽기·쓰기·실행 권한이 i-node에 기록된다.

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

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    5[국회직 9급 컴퓨터일반] 17년 1회차
    스키마(schema)에 대한 설명으로 옳지 않은 것은?
    1
    내부 스키마는 범 기관적 입장에서 데이터베이스를 정의한 것이다.
    2
    개념 스키마는 모든 데이터 개체, 관계, 제약 조건, 접근권한, 무결성 규칙 등을 명세한다.
    3
    개념 스키마는 일반적으로 스키마를 의미한다.
    4
    외부 스키마는 사용자나 응용프로그래머가 접근할 수 있는 데이터베이스를 정의한다.
    5
    스키마는 데이터베이스의 논리적 정의, 데이터 구조와 제약 조건에 관한 명세를 기술한 것이다.
    해설

    옳지 않은 설명은 내부 스키마를 범 기관적 입장의 정의라고 한 내용이다.

    범 기관적 입장에서 데이터베이스 전체를 정의하는 것은 개념 스키마이고, 내부 스키마는 저장 구조와 접근 경로 같은 물리적 저장 방식을 정의한다.

    • 개념 스키마의 명세 내용: 데이터 개체, 관계, 제약 조건, 접근권한, 무결성 규칙을 포함하는 것이 맞다.
    • 스키마의 일반적 의미: 단순히 스키마라고 하면 보통 개념 스키마를 가리킨다.
    • 외부 스키마: 사용자나 응용프로그래머가 보는 데이터베이스의 논리적 구조를 정의한다.
    • 스키마의 정의: 데이터베이스의 논리적 정의, 데이터 구조, 제약 조건을 기술한 명세가 맞다.

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

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    6[국회직 9급 컴퓨터일반] 17년 1회차
    다음 SQL 문장 중 구문이 옳은 것은?
    1
    DELETE FROM STUDENT, ENROL WHERE SNO = 100;
    2
    SELECT COUNT(DISTINCT CNO) FROM ENROL WHERE SNO = 100;
    3
    SELECT SNO, SNAME FROM STUDENT WHERE DEPT = NULL;
    4
    INSERT STUDENT INTO VALUES(100, ‘홍길동’, 2, ‘전산과’)
    5
    SELECT DNO, SUM(SNAME) FROM STUDENT GROUP BY DNO WHERE SUM(SNAME)<100;
    해설

    구문이 옳은 문장은 SELECT COUNT(DISTINCT CNO) FROM ENROL WHERE SNO = 100;이다.

    집계 함수 COUNT 안에 DISTINCT를 써서 중복을 제외한 CNO의 개수를 구하는 올바른 형식이다.

    • DELETE FROM STUDENT, ENROL …: 표준 DELETE 문은 FROM 절에 테이블 하나만 지정한다.
    • WHERE DEPT = NULL: NULL 비교는 IS NULL로 써야 하며, = 비교는 참이 되지 않는다.
    • INSERT STUDENT INTO VALUES(…): 올바른 순서는 INSERT INTO STUDENT VALUES(…)이다.
    • GROUP BY DNO WHERE SUM(SNAME)<100: WHERE는 GROUP BY 앞에 오고 집계 함수를 쓸 수 없으므로, 그룹 조건은 HAVING으로 써야 한다.

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

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    7[국회직 9급 컴퓨터일반] 17년 1회차
    다음 정수 리스트를 퀵 정렬 알고리즘으로 오름차순 정렬할 때, 리스트를 처음 분할한 직후의 분할된 두 리스트의 상태로 옳은 것은? (단, 제어키는 5로 한다.)
    (5 2 6 4 7 3 8 1)
    1
    (5 2 6 4), (7 3 8 1)
    2
    (2 4 3 1), (6 7 8)
    3
    (3 1 2 4), (7 6 8)
    4
    (3 2 1 4), (7 8 6)
    5
    (1 2 3 4), (6 7 8)
    해설

    제어키 5로 처음 분할한 직후의 두 리스트는 (3 2 1 4), (7 8 6)이다.

    왼쪽에서는 5보다 큰 값, 오른쪽에서는 5보다 작은 값을 찾아 교환한다.
    1회 교환 6↔1: 5 2 1 4 7 3 8 6
    2회 교환 7↔3: 5 2 1 4 3 7 8 6
    탐색이 교차하면 제어키 5를 3과 교환: 3 2 1 4 5 7 8 6

    • (5 2 6 4), (7 3 8 1): 리스트를 가운데서 자른 것일 뿐 제어키 기준 분할이 아니다.
    • (2 4 3 1), (6 7 8): 작은 값과 큰 값을 원래 순서대로 모은 것으로, 교환 결과가 아니다.
    • (3 1 2 4), (7 6 8): 값의 구성은 같지만 위 교환 과정에서 나오는 순서가 아니다.
    • (1 2 3 4), (6 7 8): 양쪽이 이미 정렬된 상태로, 첫 분할 직후의 모습이 아니다.

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

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    8[국회직 9급 컴퓨터일반] 17년 1회차
    다음 C 프로그램에서 main() 함수를 실행할 때 fib() 함수가 호출되는 횟수로 옳은 것은?
    #include <stdio.h>
    int fib(int n)
    {
    if(n == 0) return 0;
    if(n == 1) return 1;
    return(fib(n-1) + fib(n-2));
    }
    int main()
    {
    fib(5);
    }
    1
    3번
    2
    5번
    3
    10번
    4
    12번
    5
    15번
    해설

    fib(5)를 실행하면 fib() 함수는 모두 15회 호출된다.

    fib(n)의 호출 횟수는 자기 자신 1회에 두 재귀 호출의 횟수를 더한 값이다.
    C(n)=1+C(n−1)+C(n−2)C(n) = 1 + C(n-1) + C(n-2)
    C(0)=1, C(1)=1C(0)=1,\ C(1)=1
    C(2)=3, C(3)=5, C(4)=9C(2)=3,\ C(3)=5,\ C(4)=9
    C(5)=1+9+5=15C(5)=1+9+5=15

    • 3회: fib(5)와 그 직접 호출인 fib(4), fib(3)만 센 값이다.
    • 5회: fib(5)에서 fib(1)까지 가장 깊은 경로 하나만 센 값이다.
    • 10회: fib(5) 1회와 fib(4) 쪽 9회만 더해 fib(3) 쪽 5회가 빠진 값이다.
    • 12회: fib(3) 쪽 호출의 중복 호출을 일부 빠뜨린 값이다.

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

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    9[국회직 9급 컴퓨터일반] 17년 1회차
    객체지향 언어에 대한 설명으로 옳지 않은 것은?
    1
    객체는 재사용이 가능하나 클래스는 불가능하다.
    2
    객체는 하나의 클래스 타입으로 선언된다.
    3
    오버라이딩(overriding), 오버로딩(overloading) 모두 다형성을 지원한다.
    4
    추상메소드는 선언만 하고 그 내용은 기술하지 않은 메소드이다.
    5
    Smalltalk, Simula, Java 언어는 객체지향 개념을 잘 표현하고 있다.
    해설

    옳지 않은 설명은 객체는 재사용이 가능하나 클래스는 불가능하다는 내용이다.

    클래스는 객체를 만드는 틀로, 여러 객체를 생성하고 상속으로 확장할 수 있어 재사용의 핵심 단위이다.

    • 객체의 선언: 객체는 하나의 클래스 타입으로 선언되는 것이 맞다.
    • 오버라이딩과 오버로딩: 같은 이름으로 다른 동작을 제공하므로 둘 다 다형성을 지원한다.
    • 추상메소드: 선언만 하고 구현 내용은 하위 클래스에 맡기는 메소드가 맞다.
    • Smalltalk, Simula, Java: 객체지향 개념을 대표하는 언어들이다.

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

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    10[국회직 9급 컴퓨터일반] 17년 1회차
    인터넷에서 사용되는 TCP(Transmission Control Protocol)에 대한 설명으로 옳지 않은 것은?
    1
    데이터를 송수신 하기 위해서는 송신측과 수신측이 서로 미리 연결을 맺어야 한다.
    2
    수신측의 버퍼가 오버플로우되지 않도록 데이터 흐름 제어(flow control)를 수행한다.
    3
    네트워크 내 패킷 수가 과도하게 증가하는 현상을 방지하기 위하여 혼잡 제어(congestion control)를 수행한다.
    4
    서버와 클라이언트 간 파일을 전송하기 위한 FTP(File Transfer Protocol)에서 이용한다.
    5
    송신측에서는 수신측이 데이터를 받았는지 확인할 수 없다.
    해설

    옳지 않은 설명은 TCP에서 송신측이 수신 여부를 확인할 수 없다는 내용이다.

    TCP는 수신측이 보내는 확인 응답(ACK)으로 전달 여부를 확인하고, 응답이 없으면 재전송하는 신뢰성 있는 프로토콜이다.

    • 사전 연결: TCP는 3-way 핸드셰이크로 연결을 맺는 연결 지향 프로토콜이다.
    • 흐름 제어: 수신측의 윈도우 크기에 맞춰 전송량을 조절해 버퍼 오버플로우를 막는다.
    • 혼잡 제어: 네트워크 상황에 따라 전송량을 조절해 패킷 과잉을 방지한다.
    • FTP에서의 이용: FTP는 전송 계층 프로토콜로 TCP를 사용한다.

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

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    11[국회직 9급 컴퓨터일반] 17년 1회차
    직접 메모리 접근(Direct Memory Access, DMA)에 대한 설명으로 옳지 않은 것은?
    1
    입출력 장치와 메인메모리 사이에 데이터를 전송하는 방식이다.
    2
    사이클 스틸링(cycle stealing)과 같은 의미이다.
    3
    각 입출력 장치마다 DMA 제어기(DMA controller)가 한 개씩 사용된다.
    4
    CPU가 메인메모리에 접근하지 않는 동안에 데이터를 전송한다.
    5
    데이터의 전송이 완료되면 DMA 제어기가 CPU로 인터럽트 신호를 전송한다.
    해설

    옳지 않은 설명은 입출력 장치마다 DMA 제어기가 한 개씩 사용된다는 내용이다.

    DMA 제어기 하나는 여러 채널을 두어 여러 입출력 장치를 함께 담당할 수 있으므로, 장치마다 따로 둘 필요가 없다.

    • 전송 경로: 입출력 장치와 메인메모리 사이에서 CPU를 거치지 않고 데이터를 전송한다.
    • 사이클 스틸링: DMA 제어기가 CPU의 메모리 사이클을 빌려 전송하는 DMA의 대표적 동작을 가리키는 표현이다.
    • 전송 시점: CPU가 메인메모리를 사용하지 않는 동안 버스를 이용해 전송한다.
    • 완료 통지: 전송이 끝나면 DMA 제어기가 CPU에 인터럽트로 알린다.

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

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    12[국회직 9급 컴퓨터일반] 17년 1회차
    4개의 512 × 4 비트 RAM을 직렬로 연결하여 구성한 메모리의 마지막 주소를 16진수로 표시한 것으로 옳은 것은?
    1
    1FF
    2
    200
    3
    7FF
    4
    800
    5
    FFF
    해설

    구성한 메모리의 마지막 주소는 16진수로 7FF이다.

    직렬 연결은 주소 공간을 이어 붙이는 것이므로 워드 수가 4배가 된다.
    512×4=2048=211512 \times 4 = 2048 = 2^{11}
    주소는 0부터 시작하므로 마지막 주소는 다음과 같다.
    2048−1=2047=7FF162048 - 1 = 2047 = \mathrm{7FF}_{16}

    • 1FF: RAM 한 개(512워드)의 마지막 주소이다.
    • 200: 512를 16진수로 나타낸 워드 수이다.
    • 800: 2048을 16진수로 나타낸 워드 수로, 마지막 주소보다 1 크다.
    • FFF: 4096워드 메모리의 마지막 주소이다.

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

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    13[국회직 9급 컴퓨터일반] 17년 1회차
    인터넷에서 인접한 노드(node) 간의 프레임을 전송하며 목적지의 주소 지정, 흐름제어 및 오류 제어 기능을 제공하는 계층으로 옳은 것은?
    1
    물리 계층(physical layer)
    2
    데이터 링크 계층(data link layer)
    3
    네트워크 계층(network layer)
    4
    트랜스포트 계층(transport layer)
    5
    응용 계층(application layer)
    해설

    인접 노드 간에 프레임을 전송하는 계층은 데이터 링크 계층이다.

    데이터 링크 계층은 비트를 프레임 단위로 묶고, MAC 주소로 목적지를 지정하며, 흐름 제어와 오류 제어를 수행한다.

    • 물리 계층: 비트를 전기·광 신호로 전송할 뿐 프레임을 다루지 않는다.
    • 네트워크 계층: IP 주소로 패킷의 경로를 정하는 라우팅을 맡는다.
    • 트랜스포트 계층: 인접 노드가 아니라 종단 프로세스 사이의 전달을 맡는다.
    • 응용 계층: 사용자 응용 서비스를 제공한다.

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

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    14[국회직 9급 컴퓨터일반] 17년 1회차
    리눅스와 같은 운영체제에서 사용되는 프로세스(process)와 스레드(thread)에 대한 설명으로 옳지 않은 것은?
    1
    프로세스는 서로 다른 수의 스레드를 가질 수 있다.
    2
    다른 프로세스에 속한 스레드 간의 교착상태는 발생하지 않는다.
    3
    한 프로세스에 속한 스레드들은 메모리를 공유한다.
    4
    스레드 단위로 CPU 스케줄링이 일어난다.
    5
    같은 프로세스에 속한 스레드로 문맥교환(context switching)하는 것이 다른 프로세스에 속한 스레드로 문맥교환하는 것보다 빠르다.
    해설

    옳지 않은 설명은 다른 프로세스의 스레드 사이에 교착상태가 발생하지 않는다는 내용이다.

    교착상태는 자원을 서로 점유한 채 기다릴 때 생긴다. 파일, 장치, 공유 메모리의 락처럼 프로세스 간에 공유되는 자원이 있으면 다른 프로세스의 스레드끼리도 발생할 수 있다.

    • 스레드 수: 프로세스마다 서로 다른 수의 스레드를 가질 수 있다.
    • 메모리 공유: 같은 프로세스의 스레드는 코드, 데이터, 힙을 공유한다.
    • 스케줄링 단위: 리눅스에서는 커널이 스레드 단위로 CPU를 스케줄링한다.
    • 문맥교환 속도: 같은 프로세스 안에서는 주소 공간을 바꾸지 않아 더 빠르다.

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

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    15[국회직 9급 컴퓨터일반] 17년 1회차
    현재 모바일 기기에 탑재되는 임베디드 데이터베이스 엔진의 대표적인 예로서, 서버가 따로 필요하지 않아 널리 활용되는 것으로 옳은 것은?
    1
    SQLite
    2
    MySQL
    3
    mSQL
    4
    Oracle
    5
    SQL Server
    해설

    서버 없이 동작하는 대표적인 임베디드 데이터베이스 엔진은 SQLite이다.

    SQLite는 응용 프로그램에 라이브러리로 포함되어 별도의 서버 프로세스 없이 파일 하나에 데이터를 저장하므로 모바일 기기에서 널리 쓰인다.

    • MySQL: 클라이언트가 서버에 접속해 사용하는 서버형 DBMS이다.
    • mSQL: 가벼운 편이지만 역시 서버 프로세스를 두는 클라이언트-서버형이다.
    • Oracle: 대규모 업무용 서버형 DBMS이다.
    • SQL Server: Microsoft의 서버형 DBMS이다.

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

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    16[국회직 9급 컴퓨터일반] 17년 1회차
    뷰(view)에 대한 설명으로 옳지 않은 것은?
    1
    뷰는 독자적인 인덱스를 가질 수 없다.
    2
    뷰의 정의를 변경하기 위해 ALTER 문을 사용할 수 있다.
    3
    뷰의 정의만 시스템 카탈로그에 저장하였다가 필요시 실행시간에 테이블을 구축한다.
    4
    데이터에 대한 보안을 제공한다.
    5
    뷰는 또 다른 뷰의 정의에 사용될 수 있다.
    해설

    옳지 않은 설명은 뷰의 정의를 ALTER 문으로 변경할 수 있다는 내용이다.

    표준 SQL을 다루는 교과서 기준으로 뷰의 정의는 변경할 수 없고, DROP VIEW로 삭제한 뒤 다시 CREATE VIEW로 생성해야 한다.

    • 독자적 인덱스 불가: 뷰는 물리적으로 저장되지 않는 가상 테이블이므로 맞는 설명이다.
    • 실행 시 구축: 정의만 시스템 카탈로그에 저장하고 필요할 때 기본 테이블에서 구성한다.
    • 보안 제공: 사용자에게 필요한 열과 행만 보여 주어 데이터를 보호할 수 있다.
    • 뷰 위의 뷰: 뷰는 다른 뷰를 정의하는 기반으로 쓸 수 있다.

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

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    17[국회직 9급 컴퓨터일반] 17년 1회차
    중위 표기법(infix notation)으로 된 다음 식의 후위 표기법(postfix notation)으로 옳은 것은?
    (8 – 2 * 3) / 2 + 6 * 3 / 2
    1
    8 2 3 * - 2 / 6 3 * 2 / +
    2
    2 3 * 8 – 2 / 6 3 * 2 / +
    3
    8 2 – 3 * 2 / 6 + 3 * 2 /
    4
    8 2 3 * - 2 / 6 3 * 2 + /
    5
    + / – 8 * 2 3 2 / * 6 3 2
    해설

    주어진 식의 후위 표기는 8 2 3 * - 2 / 6 3 * 2 / +이다.

    우선순위가 높은 연산부터 변환하면 된다.
    (8 – 2 * 3) → 8 2 3 * -
    (8 – 2 * 3) / 2 → 8 2 3 * - 2 /
    6 * 3 / 2 → 6 3 * 2 /
    두 결과를 마지막에 +로 잇는다.

    • 2 3 * 8 – 2 / 6 3 * 2 / +: 뺄셈의 피연산자 순서가 뒤바뀌어 2 * 3 – 8을 뜻한다.
    • 8 2 – 3 * 2 / 6 + 3 * 2 /: 괄호 안의 뺄셈을 곱셈보다 먼저 계산한 형태이다.
    • 8 2 3 * - 2 / 6 3 * 2 + /: 끝부분이 6 * 3 / 2가 아니라, 앞의 값을 (6 * 3 + 2)로 나눈 형태이다.
    • + / – 8 * 2 3 2 / * 6 3 2: 연산자가 피연산자 앞에 오는 전위 표기이다.

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

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    18[국회직 9급 컴퓨터일반] 17년 1회차
    다음 C 프로그램의 출력 결과로 옳은 것은?
    #include <stdio.h>
    int main()
    {
    int i = 3;
    int j = 4;
    if((++i > j--) && (i++ < --j)) i = i-- + ++j;
    else j = i-- - --j;
    printf(”%d\n”, i);
    }
    1
    1
    2
    2
    3
    3
    4
    4
    5
    5
    해설

    조건식이 거짓이 되어 else 문이 실행되고, 출력되는 i의 값은 3이다.

    시작 값은 i = 3, j = 4이다.
    ++i로 i가 4가 되고, j--는 4를 내놓은 뒤 j가 3이 된다.
    4 > 4는 거짓이므로 단락 평가로 뒤의 조건은 실행되지 않는다.
    else 문의 i--는 4를 내놓은 뒤 i를 3으로 만들고, --j로 j는 2가 되어 j에 2가 대입된다.
    printf는 i를 출력하므로 결과는 3이다.

    • 1: else 문의 뺄셈을 감소된 i로 잘못 계산한 값이며 i의 값도 아니다.
    • 2: i가 아니라 j에 대입된 값이다.
    • 4: i--의 후위 감소를 반영하지 않은 값이다.
    • 5: 첫 조건을 참으로 보고 i++까지 실행했다고 착각한 값이다.

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

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    19[국회직 9급 컴퓨터일반] 17년 1회차
    네트워크 장비에 대한 설명으로 옳지 않은 것은?
    1
    허브(hub)는 여러 곳으로부터 들어온 데이터를 다른 여러 곳으로 보내는 역할을 하는 장비로, 더미 허브(dummy hub)와 스위칭 허브(switching hub)가 있다.
    2
    리피터(repeater)는 네트워크의 전송 거리를 연장하기 위하여 사용하는 장비로, 장거리 전송으로 인해 약해진 신호를 재생하여 전송해 준다.
    3
    브리지(bridge)는 동일한 기관의 두 개 이상의 LAN의 분할된 세그먼트를 서로 연결하여 하나의 네트워크로 만드는 장비로, 네트워크에 흐르는 프레임의 물리주소를 필터링한다.
    4
    게이트웨이(gateway)는 다른 네트워크로 들어가는 입구 역할을 하거나 나가는 출구 역할을 하는 장비로, 모뎀(modem)이 있다.
    5
    라우터(router)는 LAN, MAN, WAN과 같은 네트워크를 서로 연결해 주는 장비로, 네트워크에 흐르는 패킷의 논리 주소(IP 주소)에 따라 패킷을 라우팅해 준다.
    해설

    옳지 않은 설명은 게이트웨이의 예로 모뎀을 든 내용이다.

    게이트웨이는 서로 다른 네트워크 사이의 출입구로서 프로토콜을 변환하는 장비이다. 모뎀은 디지털 신호와 아날로그 신호를 바꾸는 변복조 장치로 게이트웨이가 아니다.

    • 허브: 여러 포트로 데이터를 중계하며 더미 허브와 스위칭 허브로 나뉜다.
    • 리피터: 약해진 신호를 재생해 전송 거리를 연장한다.
    • 브리지: 세그먼트를 연결하고 프레임의 물리 주소로 필터링한다.
    • 라우터: 서로 다른 네트워크를 연결하고 IP 주소로 패킷의 경로를 정한다.

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

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    20[국회직 9급 컴퓨터일반] 17년 1회차
    다음 <보기>의 CPU 스케줄링 기법 중 기아(starvation) 현상이 발생할 수 있는 스케줄링 기법으로 옳은 것을 모두 고르면?
    <보 기>
    ㄱ. FIFO(First In First Out) 스케줄링
    ㄴ. RR(Round Robin) 스케줄링
    ㄷ. Priority 스케줄링
    ㄹ. HRN(Highest Response ratio Next) 스케줄링
    ㅁ. SJF(Shortest Job First) 스케줄링
    1
    ㅁ
    2
    ㄱ, ㄴ
    3
    ㄷ, ㅁ
    4
    ㄴ, ㄷ, ㄹ
    5
    ㄷ, ㄹ, ㅁ
    해설

    기아 현상이 발생할 수 있는 기법은 ㄷ(Priority)과 ㅁ(SJF)이다.

    기아는 특정 작업이 계속 뒤로 밀려 CPU를 받지 못하는 현상이다. 우선순위가 높거나 실행 시간이 짧은 작업을 앞세우는 기법에서 생기며, 아래와 같이 다섯 지문을 판정하면 해당하는 조합은 ㄷ, ㅁ 하나이다.

    • ㄱ FIFO(발생 안 함): 도착 순서대로 처리하므로 언젠가 반드시 차례가 온다.
    • ㄴ RR(발생 안 함): 모든 작업이 시간 할당량을 돌아가며 받는다.
    • ㄷ Priority(발생): 낮은 우선순위 작업은 높은 작업이 계속 들어오면 밀린다.
    • ㄹ HRN(발생 안 함): 대기 시간이 길수록 응답 비율이 커져 기아를 막는다.
    • ㅁ SJF(발생): 긴 작업은 짧은 작업이 계속 들어오면 밀린다.

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

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

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

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

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

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

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

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

이 회차의 인쇄용 시험지 PDF 페이지에서 시험지를 받을 수 있습니다. 시험지 PDF 받기 →

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