계리직공무원 컴퓨터 일반 필기 기출문제복원 (2012-03-03)

계리직공무원 컴퓨터 일반
(2012-03-03 기출문제)

목록

1. 컴퓨터 용어에 대한 설명으로 옳지 않은 것은?

  1. MIPS는 1초당 백만개 명령어를 처리한다는 뜻으로 컴퓨터의 연산 속도를 나타내는 단위이다.
  2. SRAM은 전원이 꺼져도 저장된 자료를 계속 보존할 수 있는 기억장치이다.
  3. KB, MB, GB, TB 등은 기억 용량을 나타내는 단위로서 이중 TB가 가장 큰 단위이다.
  4. SSI, MSI, LSI, VLSI 등은 칩에 포함되는 게이트의 집적도에 따라 구분된 용어이다.
(정답률: 82%)
  • 정답: "KB, MB, GB, TB 등은 기억 용량을 나타내는 단위로서 이중 TB가 가장 큰 단위이다."는 옳지 않은 설명이다. 이중 ZB, YB 등이 더 큰 단위이다.

    SRAM은 전원이 꺼져도 저장된 자료를 계속 보존할 수 있는 기억장치이다. 이는 SRAM이 비휘발성 메모리이기 때문이다.
profile_image
1

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

2. 이진트리의 순회(traversal) 경로를 나타낸 그림이다. 이와 같은 이진트리 순회방식은 무엇인가? 단, 노드의 숫자는 순회순서를 의미한다.

  1. 병렬 순회(parallel traversal)
  2. 전위 순회(pre-order traversal)
  3. 중위 순회(in-order traversal)
  4. 후위 순회(post-order traversal)
(정답률: 81%)
  • 이진트리의 후위 순회는 왼쪽 서브트리를 먼저 순회하고, 오른쪽 서브트리를 순회한 후에 마지막으로 루트 노드를 방문하는 방식이다. 그림에서는 4, 5, 2, 6, 7, 3, 1 순서로 노드를 방문하므로 후위 순회이다.
profile_image
1

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

3. 엑셀에서는 서로 다른 시트 사이에 셀 참조가 가능하다. 아래 그림에서 Sheet2의 시금치 가격을 VLOOKUP 함수를 사용하여 Sheet1에서 가져오고자 한다. 이를 위해 Sheet2의 B3 셀에 입력할 수식으로 알맞은 것은?

  1. =VLOOKUP(시금치,Sheet1!A2:D6,4,0)
  2. =VLOOKUP(시금치,A2:A6,5,0)
  3. =VLOOKUP(A3,Sheet1!A2:D6,4,0)
  4. =VLOOKUP(A3,Sheet1!A2:A6,5,0)
(정답률: 57%)
  • 정답은 "=VLOOKUP(A3,Sheet1!A2:D6,4,0)" 이다.

    이유는 VLOOKUP 함수의 구조가 다음과 같기 때문이다.

    =VLOOKUP(찾을값, 범위, 열번호, [정렬여부])

    - 찾을값: Sheet2의 B3 셀에 있는 "시금치"
    - 범위: Sheet1의 A2:D6 범위
    - 열번호: 찾을 값이 있는 열로부터 몇 번째 열인지, 즉 시금치 가격이 있는 4번째 열
    - 정렬여부: 0으로 설정하여 정확히 일치하는 값을 찾도록 함

    따라서 "=VLOOKUP(A3,Sheet1!A2:D6,4,0)"은 Sheet2의 B3 셀에 있는 "시금치"를 Sheet1의 A2:D6 범위에서 찾아 4번째 열의 값을 가져오는 것이다.
profile_image
1

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

4. <보기>는 모듈화를 중심으로 한 소프트웨어 설계방법에 대한 설명이다. 빈칸의 내용을 올바르게 나열한 것은? (순서대로 ㉠, ㉡, ㉢, ㉣, ㉤)

  1. 독립성, 사이, 내부, 작게, 큰
  2. 독립성, 내부, 사이, 크게, 작은
  3. 추상성, 사이, 내부, 작게, 큰
  4. 추상성, 내부, 사이, 크게, 작은
(정답률: 77%)
  • ㉠ 독립성: 모듈 간의 상호작용이 최소화되어 각 모듈이 독립적으로 개발 및 유지보수가 가능하도록 설계한다.
    ㉡ 사이: 모듈 간의 인터페이스를 명확하게 정의하여 모듈 간의 결합도를 최소화하고 유연성을 높인다.
    ㉢ 내부: 모듈 내부의 구현은 외부와 독립적으로 설계되어야 하며, 모듈 내부의 복잡도를 최소화하여 유지보수를 용이하게 한다.
    ㉣ 작게: 모듈은 가능한 작게 설계하여 모듈 간의 의존성을 최소화하고 재사용성을 높인다.
    ㉤ 큰: 전체 시스템을 큰 모듈로 구성하지 않고, 작은 모듈들의 조합으로 구성하여 유지보수와 확장성을 높인다.

    따라서, "독립성, 사이, 내부, 작게, 큰"이 정답이다.
profile_image
1

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

5. 다음 중 데이터 값의 대소를 비교하여 정렬하는 문제에 대한 가장 빠른 알고리즘의 시간 복잡도는? (단, n은 정렬 대상의 입력 데이터 수이다.)

  1. O(n)
  2. O(log2n)
  3. O(nlog2n)
  4. O(n2)
(정답률: 63%)
  • O(nlog2n)이 가장 빠른 알고리즘이다. 이유는 대부분의 정렬 알고리즘이 비교 기반 알고리즘이기 때문이다. 비교 기반 알고리즘은 최소 O(nlog2n)의 시간 복잡도를 가지며, 이는 정보 이론적으로 최적의 시간 복잡도이다. 따라서 O(nlog2n)이 가장 빠른 알고리즘이다.
profile_image
1

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

6. 여덟 개의 페이지(0 ~ 7페이지)로 구성된 프로세스에 네 개의 페이지 프레임이 할당되어 있고, 이 프로세스의 페이지 참조 순서는 <보기>와 같다. 이 경우 LRU 페이지 교체 알고리즘을 적용할 때 페이지 적중률(hit ratio)은 얼마인가? 단, <보기>의 숫자는 참조하는 페이지번호를 나타내고, 최초의 페이지 프레임은 모두 비어있다고 가정한다.

  1. 5/12
  2. 6/12
  3. 7/12
  4. 8/12
(정답률: 40%)
  • LRU 페이지 교체 알고리즘은 가장 오랫동안 참조되지 않은 페이지를 교체하는 알고리즘이다. 따라서 페이지 참조 순서에 따라 페이지 프레임이 차례로 채워지고, 페이지 프레임이 모두 차면 가장 오랫동안 참조되지 않은 페이지를 교체한다.

    <보기>에서 페이지 참조 순서에 따라 페이지 프레임이 차례로 채워지고, 페이지 프레임이 모두 차면 0번 페이지가 가장 오랫동안 참조되지 않았으므로 0번 페이지를 교체한다. 이후 페이지 참조 순서에 따라 페이지 프레임이 차례로 채워지고, 페이지 프레임이 모두 차면 1번 페이지를 교체한다. 이 과정을 반복하면 페이지 적중률(hit ratio)은 5/12가 된다. 즉, 페이지 참조 중 5번은 페이지 프레임에 이미 존재하는 페이지이므로 적중하고, 7번, 0번, 2번, 3번, 2번 순으로 페이지가 교체되었으므로 페이지 부재가 7번 발생하였다. 따라서 페이지 적중률은 5/12가 된다.
profile_image
1

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

7. <보기>의 논리 연산식을 간략화한 논리회로는?

(정답률: 61%)
  • 논리식을 간략화하기 위해 논리회로를 구성할 때, AND 게이트와 OR 게이트를 적절히 조합하여 최소화된 회로를 구성할 수 있다. 이 문제에서는 AND 게이트와 OR 게이트를 조합하여 "" 를 구성할 수 있다.

    논리식을 살펴보면, "" 와 "" 를 AND 게이트로 연결하고, 그 결과를 "" 와 OR 게이트로 연결하면 "" 를 구할 수 있다.

    간단히 말해, "" 와 "" 가 모두 참일 때, "" 가 참이거나 "" 가 참이다. 이를 논리회로로 구성하면, AND 게이트와 OR 게이트를 조합하여 "" 를 구할 수 있다.
profile_image
1

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

8. <보기>의 설명에 해당하는 네트워크 장비는?

  1. 게이트웨이(gateway)
  2. 브리지(bridge)
  3. 리피터(repeater)
  4. 라우터(router)
(정답률: 64%)
  • 이 장비는 여러 개의 네트워크를 연결하는 역할을 하며, 패킷을 분석하여 최적의 경로를 선택하여 전송하는 기능을 가지고 있습니다. 이러한 기능으로 인해 라우터는 인터넷에 연결되어 있는 게이트웨이 역할을 하며, 다른 네트워크와의 통신을 가능하게 합니다. 따라서 이 장비는 라우터입니다.
profile_image
1

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

9. 다음 C 프로그램의 실행 결과로 옳은 것은?

  1. a[0]=10 a[1]=20 a[2]=30
  2. a[0]=10 a[1]=20 a[2]=200
  3. a[0]=10 a[1]=100 a[2]=30
  4. a[0]=10 a[1]=100 a[2]=200
(정답률: 50%)
  • 정답은 "a[0]=10 a[1]=100 a[2]=30" 이다.

    이유는 다음과 같다.

    1. 배열 a를 선언하고 초기화한다.

    2. for문을 통해 배열 a의 각 요소에 대해 조건문을 실행한다.

    3. 조건문에서는 i가 1일 때 a[1]의 값을 100으로 변경한다.

    4. 따라서 for문이 종료된 후 배열 a의 값은 "a[0]=10 a[1]=100 a[2]=30"이 된다.
profile_image
1

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

10. 인터럽트 처리를 위한 <보기>의 작업이 올바로 나열된 것은?

  1. ㄷ → ㄹ → ㄱ → ㄴ
  2. ㄷ → ㄹ → ㄴ → ㄱ
  3. ㄹ → ㄷ → ㄱ → ㄴ
  4. ㄹ → ㄷ → ㄴ → ㄱ
(정답률: 57%)
  • 인터럽트는 현재 실행 중인 프로그램의 흐름을 중단하고, 우선순위가 높은 작업을 처리하는 것이다. 따라서, 우선순위가 높은 작업이 먼저 처리되어야 하므로 "ㄷ → ㄹ → ㄱ → ㄴ"이 올바른 순서이다.

    먼저, 인터럽트가 발생하면 현재 실행 중인 프로그램의 흐름을 중단하고, 인터럽트 서비스 루틴(ISR)을 실행한다. 이때, ISR은 우선순위가 높은 작업을 처리하기 위해 다른 작업을 차단할 수 있다.

    따라서, "ㄷ → ㄹ" 순서는 ISR이 실행되는 과정이다. "ㄷ"는 현재 실행 중인 프로그램의 흐름을 중단하고 ISR을 실행하는 과정이고, "ㄹ"은 ISR에서 우선순위가 높은 작업을 처리하는 과정이다.

    그 다음으로는 "ㄱ"이다. "ㄱ"은 ISR에서 처리한 작업이 끝나고, 이전에 실행 중이던 프로그램으로 다시 돌아가는 과정이다.

    마지막으로는 "ㄴ"이다. "ㄴ"은 이전에 실행 중이던 프로그램으로 다시 돌아간 후, 인터럽트가 발생한 지점부터 다시 실행하는 과정이다.

    따라서, "ㄷ → ㄹ → ㄱ → ㄴ"이 올바른 인터럽트 처리 순서이다.
profile_image
1

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

11. <표>의 CPM(Critical Path Method) 소작업 리스트에서 작업 C의 가장 빠른 착수일(earliest start time), 가장 늦은 착수일(latest start time), 여유 기간(slack time)을 순서대로 나열한 것은?

  1. 15일, 15일, 0일
  2. 10일, 15일, 5일
  3. 10일, 25일, 5일
  4. 15일, 25일, 0일
(정답률: 50%)
  • 작업 C는 선행 작업이 A와 B이므로, A와 B가 모두 완료된 후에 시작할 수 있다. 따라서 가장 빠른 착수일은 A와 B가 모두 완료된 15일이다. 가장 늦은 착수일은 여유 기간이 0일이므로, 가장 빠른 착수일인 15일이다. 여유 기간은 가장 늦은 종료일과 가장 빠른 종료일의 차이이므로, 25일에서 15일을 뺀 10일이다. 따라서 정답은 "15일, 15일, 0일"이다.
profile_image
1

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

12. <보기>는 스택을 이용한 0-주소 명령어 프로그램이다. 이 프로그램이 수행하는 계산으로 옳은 것은?

  1. Z = C + A * B
  2. Z = (A + B) * C
  3. Z = B + C * A
  4. Z = (C + B) * A
(정답률: 58%)
  • 이 프로그램은 A와 B를 더한 값을 스택에 push하고, 그 다음 C를 곱한 값을 스택에 push한 후, 스택에서 두 개의 값을 pop하여 곱한 결과를 Z에 저장하는 계산을 수행한다. 따라서 Z = (A + B) * C 이다.
profile_image
1

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

13. 트랜잭션의 특성과 이에 대한 설명으로 옳지 않은 것은?

  1. 원자성(atomicity) : 트랜잭션은 완전히 수행되거나 전혀 수행되지 않아야 한다.
  2. 일관성(consistency) : 트랜잭션을 완전히 실행하면 데이터베이스를 하나의 일관된 상태에서 다른 일관된 상태로 바꿔야 한다.
  3. 고립성(isolation) : 하나의 트랜잭션의 실행은 동시에 실행 중인 다른 트랜잭션의 간섭을 받아서는 안 된다.
  4. 종속성(dependency) : 완료한 트랜잭션에 의해 데이터베이스에 가해진 변경은 어떠한 고장에도 손실되지 않아야 한다.
(정답률: 55%)
  • 종속성(dependency) : 완료한 트랜잭션에 의해 데이터베이스에 가해진 변경은 어떠한 고장에도 손실되지 않아야 한다. - 이에 대한 설명으로 옳지 않은 것은 없다.

    종속성(dependency)은 트랜잭션이 완료되면 그 결과가 영구적으로 유지되어야 함을 의미한다. 즉, 트랜잭션이 성공적으로 완료되면 그 결과는 어떠한 시스템 고장이나 문제가 발생하더라도 손실되지 않아야 한다는 것이다. 이를 위해 데이터베이스 시스템은 트랜잭션의 모든 변경 작업을 로그에 기록하고, 시스템 고장이 발생하면 이 로그를 사용하여 데이터베이스를 복구할 수 있다.
profile_image
1

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

14. <보기>의 다양한 진법으로 표현한 숫자들을 큰 숫자부터 나열한 것은?

  1. ㄱ, ㄴ, ㄷ, ㄹ
  2. ㄴ, ㄷ, ㄱ, ㄹ
  3. ㄷ, ㄹ, ㄱ, ㄴ
  4. ㄹ, ㄱ, ㄴ, ㄷ
(정답률: 64%)
  • 보기에서 주어진 숫자들을 10진법으로 변환하면 다음과 같다.

    ㄱ: 2019

    ㄴ: 1101

    ㄷ: 1000

    ㄹ: 999

    이 숫자들을 큰 숫자부터 나열하면 ㄴ, ㄷ, ㄱ, ㄹ이 된다. 이는 2진법으로 표현한 숫자들을 10진법으로 변환했을 때, 1의 자리 수가 큰 숫자부터 나열한 것과 같다. 2진법에서 1의 자리 수가 큰 숫자일수록 큰 숫자이기 때문이다.
profile_image
1

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

15. 공개키(public key) 암호화 방식에 대한 설명으로 옳지 않은 것은?

  1. 공개키와 개인키로 이루어진다.
  2. 대표적 활용 예로는 전자서명이 있다.
  3. 송수신자는 서로 다른 키를 사용한다.
  4. 개인키는 메시지를 전송할 때 사용한다.
(정답률: 55%)
  • 개인키는 메시지를 전송할 때 사용하는 것이 아니라, 메시지를 복호화하는 데 사용된다. 개인키는 소유자만이 가지고 있으며, 공개키와 쌍을 이루어서 사용된다. 공개키는 누구나 알 수 있으며, 메시지를 암호화하는 데 사용된다. 따라서, "개인키는 메시지를 전송할 때 사용한다."는 옳지 않은 설명이다.
profile_image
1

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

16. 주기억장치와 캐시 기억장치만으로 구성된 시스템에서 <보기>와 같이 기억장치 접근시간이 주어질 때 캐시 적중률(hit ratio)은?

  1. 80%
  2. 85%
  3. 90%
  4. 95%
(정답률: 45%)
  • 캐시 적중률은 캐시에 원하는 데이터가 있을 때 캐시에서 데이터를 가져오는 비율을 의미합니다. 캐시에 원하는 데이터가 없을 때는 주기억장치에서 데이터를 가져와야 하므로 접근시간이 더 오래 걸리게 됩니다.

    이 문제에서는 캐시의 크기가 2KB이고, 블록의 크기가 16B이므로 캐시에는 128개의 블록이 들어갈 수 있습니다. 또한, 캐시 적중시간은 10ns, 캐시 미스시간은 100ns, 주기억장치 접근시간은 1000ns로 주어졌습니다.

    이제 캐시 적중률을 계산해보겠습니다. 캐시 적중률은 캐시에서 데이터를 가져오는 비율이므로, 캐시에서 데이터를 가져오는 시간과 주기억장치에서 데이터를 가져오는 시간의 가중평균을 구하면 됩니다.

    캐시 적중률 = (캐시 적중시간 × 적중률 + 캐시 미스시간 × 미스률) / 주기억장치 접근시간
    = (10ns × 0.9 + 100ns × 0.1) / 1000ns
    = 0.09
    = 90%

    따라서, 이 시스템에서의 캐시 적중률은 90%입니다.
profile_image
1

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

17. <보기>에서 설명하는 객체지향 개념은?

  1. 캡슐화(encapsulation)
  2. 인스턴스(instance)
  3. 다형성(polymorphism)
  4. 상속(inheritance)
(정답률: 79%)
  • 다형성은 하나의 메소드나 클래스가 다양한 방식으로 동작할 수 있는 능력을 말합니다. 예를 들어, 위의 그림에서는 동물 클래스를 상속받은 각각의 하위 클래스들이 eat() 메소드를 다르게 구현하고 있습니다. 이렇게 하나의 메소드가 다양한 방식으로 동작할 수 있는 것이 다형성입니다.
profile_image
1

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

18. <보기>의 연산을 2의 보수를 이용한 연산으로 변환한 것은?

  1. 000001102 + 111100112
  2. 000001102 - 111100112
  3. 111110102 + 111100112
  4. 111110102 + 111100112
(정답률: 46%)
  • 보기에서 주어진 연산은 덧셈 연산이므로, 2의 보수를 이용한 연산으로 변환하기 위해서는 먼저 각각의 이진수에 대해 2의 보수를 취해야 한다.

    - 000001102의 2의 보수: 111110102
    - 111100112의 2의 보수: 000011012

    이제 2의 보수를 취한 이진수들을 더해보면,

    111110102
    + 000011012
    --------------
    1000011112

    맨 앞의 1은 올림수이므로 결과는 9비트가 된다. 하지만 보기에서는 8비트로 주어졌으므로, 맨 앞의 1을 버리고 나머지 8비트를 취하면 다음과 같다.

    000011112

    따라서 정답은 "000001102 + 111100112"이다.
profile_image
1

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

19. <보기>는 Windows XP의 실행창(시작 ⇒ 실행)에 입력할 수 있는 명령어들을 나열한 것이다. 명령어별로 수행할 수 있는 기능을 순서대로 나열한 것은?

  1. 컴퓨터사양 확인 - 시작프로그램 편집 - 레지스트리 편집 - 원격데스크탑 실행
  2. 원격데스크탑 실행- 작업관리자 편집- 서비스 편집 - 시스템 셧다운 설정
  3. 컴퓨터사양 확인 - 작업관리자 편집 - 레지스트리 편집 - 원격데스크탑 실행
  4. 원격데스크탑 실행 - 시작프로그램 편집 - 서비스 편집 - 시스템 셧다운 설정
(정답률: 38%)
  • - 컴퓨터사양 확인: 시스템 정보를 확인할 수 있다.
    - 시작프로그램 편집: 시스템 부팅 시 자동으로 실행되는 프로그램을 설정할 수 있다.
    - 레지스트리 편집: 시스템 설정 정보를 수정할 수 있다.
    - 원격데스크탑 실행: 다른 컴퓨터에 원격으로 접속할 수 있다.

    따라서, 이 중에서 "컴퓨터사양 확인 - 시작프로그램 편집 - 레지스트리 편집 - 원격데스크탑 실행"은 시스템 정보를 확인하고, 부팅 시 자동으로 실행되는 프로그램을 설정하며, 시스템 설정 정보를 수정하고, 다른 컴퓨터에 원격으로 접속할 수 있는 기능을 순서대로 수행할 수 있다.
profile_image
1

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

20. <보기>는 0 ~ 199번의 200개 트랙으로 이루어진 디스크 시스템에서, 큐에 저장된 일련의 입출력 요청들과 어떤 디스크 스케줄링(disk scheduling) 방식에 의해 처리된 서비스 순서이다. 이 디스크 스케줄링 방식은 무엇인가? 단, <보기>의 숫자는 입출력할 디스크 블록들이 위치한 트랙 번호를 의미하며, 현재 디스크 헤드의 위치는 트랙 50번이라고 가정한다.

  1. FCFS
  2. C-SCAN
  3. SSTF
  4. SCAN
(정답률: 61%)
  • 보기에서는 디스크 헤드가 한쪽 방향으로 이동하다가 끝까지 도달하면 다시 반대 방향으로 이동하는 것을 볼 수 있다. 이러한 방식은 C-SCAN 방식으로, 디스크 헤드가 이동하는 방향이 일정하게 유지되기 때문에 입출력 요청들이 처리되는 순서가 일정하게 유지되어 공정한 서비스를 제공할 수 있다. 따라서 정답은 C-SCAN이다.
profile_image
1

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

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