9급 국가직 공무원 컴퓨터일반 필기 기출문제복원 (2021-04-17)

9급 국가직 공무원 컴퓨터일반 2021-04-17 필기 기출문제 해설

이 페이지는 9급 국가직 공무원 컴퓨터일반 2021-04-17 기출문제를 CBT 방식으로 풀이하고 정답 및 회원들의 상세 해설을 확인할 수 있는 페이지입니다.

9급 국가직 공무원 컴퓨터일반
(2021-04-17 기출문제)

목록

1과목: 과목 구분 없음

1. 컴퓨팅 사고(Computational Thinking)에서 주어진 문제의 중요한 특징만으로 문제를 간결하게 재정의함으로써 문제 해결을 쉽게 하는 과정은?

  1. 분해
  2. 알고리즘
  3. 추상화
  4. 패턴 인식
(정답률: 64%)
  • 추상화는 문제 해결 과정에서 불필요한 세부 사항은 제거하고, 핵심적인 특징만을 추출하여 문제를 단순화하고 재정의하는 과정입니다.

    오답 노트

    분해: 복잡한 문제를 작은 단위로 나누는 것
    알고리즘: 문제를 해결하기 위한 규칙과 절차
    패턴 인식: 문제 간의 유사성을 찾는 방식
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

2. 소프트웨어에 대한 설명으로 옳지 않은 것은?

  1. 하드웨어에 대응하는 개념으로 우리가 원하는 대로 컴퓨터를 작동하게 만드는 논리적인 바탕을 제공한다.
  2. 운영체제 등 컴퓨터 시스템을 가동시키는 데 사용되는 소프트웨어를 시스템 소프트웨어라 한다.
  3. 문서 작성이나 게임 등 특정 분야의 업무를 처리하는 데 사용되는 소프트웨어를 응용 소프트웨어라 한다.
  4. 고급 언어로 작성된 프로그램을 한꺼번에 번역한 후 실행하는 것이 인터프리터 방식이다.
(정답률: 87%)
  • 고급 언어로 작성된 프로그램을 한꺼번에 번역하여 실행 파일로 만드는 방식은 컴파일러 방식입니다. 인터프리터 방식은 프로그램을 한 줄씩 기계어로 번역하며 즉시 실행하는 방식입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

3. 4GHz의 클록 속도를 갖는 CPU에서 CPI(Cycle per Instruction)가 4.0이고 총 1010개의 명령어로 구성된 프로그램을 수행하려고 할 때, 이 프로그램의 실행 완료를 위해 필요한 시간은?

  1. 1초
  2. 10초
  3. 100초
  4. 1,000초
(정답률: 63%)
  • CPU의 프로그램 실행 시간은 총 클록 사이클 수를 클록 속도로 나누어 계산합니다.
    ① [기본 공식] $\text{Execution Time} = \frac{\text{Instruction Count} \times \text{CPI}}{\text{Clock Rate}}$
    ② [숫자 대입] $\text{Execution Time} = \frac{10^{10} \times 4.0}{4 \times 10^{9}}$
    ③ [최종 결과] $\text{Execution Time} = 10\text{ s}$
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

4. -35를 2의 보수(2's Complement)로 변환하면?

  1. 11011100
  2. 11011101
  3. 11101100
  4. 11101101
(정답률: 68%)
  • 음수를 2의 보수로 변환하기 위해서는 먼저 절대값의 이진수를 구한 뒤, 1의 보수(비트 반전)를 취하고 1을 더합니다.
    ① [기본 공식] $2\text{'s Complement} = (\text{1's Complement}) + 1$
    ② [숫자 대입] $11011100 + 1$
    ③ [최종 결과] $11011101$
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

5. OSI 7계층에서 계층별로 사용하는 프로토콜의 데이터 단위는 다음 표와 같다. ㉠~㉢에 들어갈 내용을 바르게 연결한 것은?

(정답률: 72%)
  • OSI 7계층의 각 계층은 고유의 데이터 전송 단위(PDU)를 가집니다.
    트랜스포트 계층은 세그먼트(Segment), 네트워크 계층은 패킷(Packet), 데이터링크 계층은 프레임(Frame)을 사용합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

6. 300개의 노드로 이진 트리를 생성하고자 할 때, 생성 가능한 이진 트리의 최대 높이와 최소 높이로 모두 옳은 것은? (단, 1개의 노드로 생성된 이진 트리의 높이는 1이다)

(정답률: 62%)
  • 이진 트리의 높이는 노드의 배치 방식에 따라 결정됩니다.
    최대 높이는 모든 노드가 한쪽으로만 치우친 편향 트리(Skewed Tree)일 때 발생하며, 노드 수와 동일한 $300$이 됩니다.
    최소 높이는 노드가 최대한 균형 있게 배치된 완전 이진 트리일 때 발생하며, 높이가 $K$일 때 최대 노드 수는 $2^{K}-1$개입니다.
    $2^{8}-1 = 255$ (노드 300개 수용 불가)
    $2^{9}-1 = 511$ (노드 300개 수용 가능)
    따라서 최소 높이는 $9$가 됩니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

7. 아래와 같은 순서대로 회의실 사용 요청이 있을 때, 다음 중 가장 많은 회의실 사용 시간을 확보할 수 있는 스케줄링 방법은? (단, 회의실은 하나이고, 사용 요청은 (시작 시각, 종료 시각)으로 구성된다. 회의실에 특정 회의가 할당되면 이 회의 시간과 겹치는 회의 요청에 대해서는 회의실 배정을 할 수 없다)

  1. 시작 시각이 빠른 요청부터 회의실 사용이 가능하면 확정한다.
  2. 종료 시각이 빠른 요청부터 회의실 사용이 가능하면 확정한다.
  3. 사용 요청 순서대로 회의실 사용이 가능하면 확정한다.
  4. 회의 시간이 긴 요청부터 회의실 사용이 가능하면 확정한다.
(정답률: 49%)
  • 제시된 의 요청 사항들을 분석했을 때, 회의 시간이 긴 요청부터 우선적으로 배정하는 방식이 전체 사용 시간을 가장 많이 확보할 수 있습니다. 긴 시간의 회의를 먼저 배치함으로써 자투리 시간을 최소화하고 효율적인 시간 점유가 가능하기 때문입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

8. 제품 테이블에 대하여 SQL 명령을 실행한 결과가 다음과 같을 때, ㉠과 ㉡에 들어갈 내용을 바르게 연결한 것은?

(정답률: 70%)
  • 실행 결과에서 제조업체별로 최고단가가 출력되었으므로, ㉠에는 그룹화 기준인 제조업체가 들어가야 합니다. 또한, 결과에 제조업체 A가 제외된 이유는 해당 업체의 제품 수가 1개뿐이기 때문입니다. 따라서 ㉡에는 제품 수가 1개를 초과해야 한다는 조건인 1이 들어가야 합니다.
    결과적으로 의 ①번 조합이 정답입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

9. 스택의 입력으로 4개의 문자 D, C, B, A가 순서대로 들어올 때, 스택 연산 PUSH와 POP에 의해서 출력될 수 없는 결과는?

  1. ABCD
  2. BDCA
  3. CDBA
  4. DCBA
(정답률: 76%)
  • 스택은 LIFO(Last-In, First-Out) 구조로, 가장 나중에 들어온 데이터가 가장 먼저 나갑니다. D, C, B, A 순으로 입력될 때 BDCA가 나오려면 B가 먼저 POP 되어야 하는데, 이때 스택 내부에는 D, C가 남아있어야 합니다. 하지만 B 이후에 D가 나오고 C가 나오는 순서는 스택의 기본 원리상 불가능합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

10. 임계구역에 대한 설명으로 옳은 것은?

  1. 임계구역에 진입하고자 하는 프로세스가 무한대기에 빠지지 않도록 하는 조건을 진행의 융통성(Progress Flexibility)이라 한다.
  2. 자원을 공유하는 프로세스들 사이에서 공유자원에 대해 동시에 접근하여 변경할 수 있는 프로그램 코드 부분을 임계영역(Critical Section)이라 한다.
  3. 한 프로세스가 다른 프로세스의 진행을 방해하지 않도록 하는 조건을 한정 대기(Bounded Waiting)라 한다.
  4. 한 프로세스가 임계구역에 들어가면 다른 프로세스는 임계구역에 들어갈 수 없도록 하는 조건을 상호 배제(Mutual Exclusion)라 한다.
(정답률: 75%)
  • 상호 배제(Mutual Exclusion)는 한 프로세스가 임계구역에 진입해 있을 때, 다른 프로세스가 동시에 해당 구역에 들어오지 못하도록 막아 데이터 일관성을 유지하는 핵심 원리입니다.

    오답 노트

    임계영역: 동시에 접근하여 변경할 수 없는 코드 부분
    진행의 융통성: 한 프로세스가 다른 프로세스의 진행을 방해하지 않아야 함
    한정 대기: 임계구역 진입 요청 후 무한 대기에 빠지지 않도록 제한함
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

11. 통합 테스팅 방법에 대한 설명으로 옳지 않은 것은?

  1. 연쇄식(Threads) 통합은 초기에 시스템 골격을 파악하기 어렵다.
  2. 빅뱅(Big-bang) 통합은 모든 모듈을 동시에 통합하여 테스팅한다.
  3. 상향식(Bottom-up) 통합은 가장 하부 모듈부터 통합하여 테스팅한다.
  4. 하향식(Top-down) 통합은 프로그램 제어 구조에서 상위 모듈부터 통합하는 것을 말한다.
(정답률: 65%)
  • 연쇄식(Threads) 통합 테스팅은 시스템의 핵심 기능을 수행하는 중요 모듈들을 먼저 통합하여 테스트하므로, 초기에 시스템의 전체적인 골격을 빠르게 파악할 수 있고 사용자 피드백을 신속하게 반영할 수 있다는 장점이 있습니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

12. 다음 중 파이썬 프로그래밍 언어에 대한 설명으로 옳은 것만을 모두 고르면?

  1. ㄱ, ㄷ
  2. ㄴ, ㄷ
  3. ㄱ, ㄴ, ㄷ
(정답률: 63%)
  • 파이썬은 인터프리터 기반의 대화식 언어이며 플랫폼 독립적이고, 클래스를 통해 객체 인스턴스를 생성할 수 있는 객체 지향 언어입니다.

    오답 노트

    변수 선언 시 데이터형 지정: 파이썬은 동적 타이핑 언어로 변수 선언 시 타입을 명시하지 않습니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

13. 해쉬(Hash)에 대한 설명으로 옳지 않은 것은?

  1. 연결리스트는 체이닝(Chaining) 구현에 적합하다.
  2. 충돌이 전혀 없다면 해쉬 탐색의 시간 복잡도는 O(1)이다.
  3. 최악의 경우에도 이진 탐색보다 빠른 성능을 보인다.
  4. 해쉬 함수는 임의의 길이의 데이터를 입력받을 수 있다.
(정답률: 65%)
  • 해시 탐색은 평균적으로 매우 빠르지만, 모든 데이터가 하나의 버킷에 집중되는 최악의 경우 시간 복잡도가 $O(N)$까지 증가합니다. 반면 이진 탐색의 시간 복잡도는 최악의 경우에도 $O(\log N)$이므로, 최악의 상황에서는 이진 탐색이 더 효율적입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

14. 프로세스의 메모리는 세그먼테이션에 의해 그 역할이 할당되어 있다. 표준 C언어로 작성된 프로그램이 컴파일 후 실행파일로 변환되어 메모리를 할당받았을 때, 이 프로그램에 할당된 세그먼트에 대한 설명으로 옳은 것은?

  1. 데이터 세그먼트는 모든 서브루틴의 지역변수와 서브루틴 종료 후 돌아갈 명령어의 주소값을 저장한다.
  2. 스택은 현재 실행 중인 서브루틴의 매개변수와 프로그램의 전역변수를 저장한다.
  3. 코드 세그먼트는 CPU가 실행할 명령어와 메인 서브루틴의 지역변수를 저장한다.
  4. 힙(Heap)은 동적 메모리 할당을 위해 사용되는 공간이고, 주소값이 커지는 방향으로 증가한다.
(정답률: 55%)
  • 힙(Heap)은 프로그램 실행 중 런타임에 동적으로 메모리를 할당받기 위해 사용하는 영역이며, 일반적으로 낮은 주소에서 높은 주소 방향으로 증가하며 할당됩니다.

    오답 노트

    데이터 세그먼트: 전역변수를 저장하는 공간입니다.
    스택: 지역변수와 복귀 주소값을 저장하는 공간입니다.
    코드 세그먼트: 실행할 명령어(기계어)가 저장되는 공간입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

15. 다음은 프로세스 상태 전이도이다. 각 상태 전이에 대한 예로 적절하지 않은 것은?

  1. ㉠-프로세스에 자신이 기다리고 있던 이벤트가 발생하였다.
  2. ㉡-실행할 프로세스를 선택할 때가 되면, 운영체제는 프로세스들 중 하나를 선택한다.
  3. ㉢-실행 중인 프로세스가 자신에게 할당된 처리기의 시간을 모두 사용하였다.
  4. ㉣-실행 중인 프로세스가 작업을 완료하거나 실행이 중단되었다.
(정답률: 65%)
  • 프로세스 상태 전이도에서 ㉣은 '실행' 상태에서 '대기' 상태로 전환되는 과정입니다. 실행 중인 프로세스가 입출력 요청과 같은 특정 이벤트가 발생하여 이를 기다려야 할 때 대기 상태로 전이됩니다. 작업이 완료되어 종료되는 것은 '실행'에서 '종료' 상태로 가는 전이이므로 ㉣에 대한 설명으로 적절하지 않습니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

16. -30.25×2-8의 값을 갖는 IEEE 754 단정도(Single Precision) 부동소수점(Floating-point) 수를 16진수로 변환하면?

  1. 5DF30000
  2. 9ED40000
  3. BDF20000
  4. C8F40000
(정답률: 43%)
  • IEEE 754 단정도 부동소수점 표현 방식에 따라 16진수로 변환하는 과정입니다.
    1. 이진수 변환 및 정규화
    $-30.25 \times 2^{-8} = -11110.01_2 \times 2^{-8} = -1.111001_2 \times 2^4 \times 2^{-8} = -1.111001_2 \times 2^{-4}$
    2. 부호, 지수, 가수부 결정
    부호(S): 음수이므로 $1$
    지수(E): $-4 + 127 = 123 \rightarrow 01111011_2$
    가수(M): $11100100000000000000000_2$
    3. 최종 비트열 결합 및 16진수 변환
    $$ 1 \text{ } 01111011 \text{ } 11100100000000000000000_2 $$
    $$ 1011 \text{ } 1101 \text{ } 1111 \text{ } 0010 \text{ } 0000 \text{ } 0000 \text{ } 0000 \text{ } 0000_2 $$
    $$ \text{BDF20000}_{16} $$
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

17. 다음은 어느 학생이 C 언어로 작성한 학점 계산 프로그램이다. 출력 결과는?

  1. 학점 : A
  2. 학점 : B
  3. 학점 : C
  4. 학점 : F
(정답률: 63%)
  • 제시된 코드의 if문들은 else로 연결되어 있지 않고 독립적으로 나열되어 있습니다. 따라서 조건이 참인 모든 if문이 순차적으로 실행되며 grade 변수의 값이 계속 덮어씌워집니다.
    1. score가 85이므로 score >= 90은 거짓 (통과)
    2. score >= 80은 참 $\rightarrow$ grade = 'B'
    3. score >= 70은 참 $\rightarrow$ grade = 'C' (덮어쓰기)
    4. score < 70은 거짓 (통과)
    최종적으로 grade에 저장된 값은 'C'가 됩니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

18. 파이프라인 해저드(Pipeline Hazard)에 대한 다음 설명에서 ㉠과 ㉡에 들어갈 내용을 바르게 연결한 것은?

(정답률: 53%)
  • 파이프라인 해저드의 종류와 원인을 구분하는 문제입니다.
    하드웨어 자원 부족으로 인해 발생하는 문제는 구조적 해저드이며, 분기 명령어(JUMP, IF 등)로 인해 다음 실행할 명령어를 적절한 사이클에 가져오지 못하는 문제는 제어 해저드입니다.

    오답 노트

    데이터 해저드: 이전 명령어의 결과 데이터가 아직 생성되지 않았을 때 이를 사용하려 하여 발생하는 문제
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

19. 합성곱 신경망(CNN, Convolutional Neural Network) 처리 시 다음과 같은 입력과 필터가 주어졌을 때, 합성곱에 의해 생성된 특징 맵(Feature Map)의 ㉠에 들어갈 값은?

  1. 3
  2. 4
  3. 5
  4. 6
(정답률: 61%)
  • 합성곱 신경망(CNN)의 특징 맵 값은 입력 데이터의 특정 영역과 필터의 대응하는 원소들을 각각 곱한 후 모두 더하여 계산합니다.
    $$ \text{Sum} = (1 \times 1) + (1 \times 0) + (0 \times 0) + (1 \times 0) + (1 \times 1) + (1 \times 1) + (0 \times 1) + (1 \times 1) + (0 \times 1) $$
    $$ \text{Sum} = 1 + 0 + 0 + 0 + 1 + 1 + 0 + 1 + 0 $$
    $$ \text{Sum} = 4 $$
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

20. 해밍코드에 대한 패리티 비트 생성 규칙과 인코딩 예가 다음과 같다. 이에 대한 설명으로 옳은 것은?

  1. 이 방법은 홀수 패리티를 사용하고 있다.
  2. 원본 데이터가 0100이면 0101110으로 인코딩된다.
  3. 패리티 비트에 오류가 발생하면 복구는 불가능하다.
  4. 수신측이 0010001을 수신하면 한 개의 비트 오류를 수정한 후 최종적으로 0010으로 복호한다.
(정답률: 47%)
  • 제시된 패리티 생성 규칙 $\text{mod } 2$ 연산은 합이 짝수가 되도록 만드는 짝수 패리티 방식입니다.
    수신된 데이터 $0010001$을 분석하면 오류 비트를 찾아 수정할 수 있으며, 최종적으로 원본 데이터 $0010$으로 복호화가 가능합니다.


    오답 노트

    이 방법은 홀수 패리티를 사용하고 있다: 짝수 패리티 사용함
    원본 데이터가 0100이면 0101110으로 인코딩된다: 규칙 적용 시 $0100010$ 또는 $0101010$으로 인코딩됨
    패리티 비트에 오류가 발생하면 복구는 불가능하다: 해밍코드는 오류 검출 및 수정이 가능함
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

< 이전회차목록 다음회차 >