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

계리직공무원 컴퓨터 일반
(2016-07-23 기출문제)

목록

1. 2진수 11110000과 10101010에 대해 XOR논리 연산을 수행한 결과 값을 16진수로 바르게 표현한 것은?

  1. 5A
  2. 6B
  3. A5
  4. B6
(정답률: 79%)
  • 11110000 XOR 10101010 = 01011010
    01011010는 16진수로 5A와 같다.
    따라서 정답은 "5A"이다.
profile_image
1

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

2. 무선 네트워크 방식에 대한 설명으로 옳은 것은?

  1. 블루투스(Bluetooth)는 동일한 유형의 기기 간에만 통신이 가능하다.
  2. NFC방식이 블루투스 방식보다 최대 전송 속도가 빠르다.
  3. NFC방식은 액세스 포인트(access point) 없이 두 장치 간의 통신이 가능하다.
  4. 최대 통신 가능거리를 가까운 것에서 먼 순서로 나열하면 Bluetooth < Wi-Fi < NFC < LTE 순이다.
(정답률: 69%)
  • NFC방식은 액세스 포인트 없이 두 장치 간의 통신이 가능하다는 이유는, NFC 기술이 근거리 무선통신 기술이기 때문이다. NFC는 두 장치가 서로 매우 가까이 위치해야만 통신이 가능하며, 이를 통해 보안성이 높아지는 장점도 있다. 따라서 NFC는 액세스 포인트 없이도 두 장치 간의 간단한 정보 교환에 적합한 기술이다.
profile_image
1

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

3. <보기>의 프로세스P1, P2, P3을 시간 할당량(time quantum)이 2인 RR(Round-Robin)알고리즘으로 스케줄링할 때, 평균 응답시간으로 옳은 것은? (단, 응답시간이란 프로세스의 도착 시간부터 처리가 종료될 때까지의 시간을 말한다. 계산 결과값을 소수점 둘째자리에서 반올림한다)

  1. 5.7
  2. 6.0
  3. 7.0
  4. 7.3
(정답률: 54%)
  • RR 알고리즘은 시간 할당량이 지정되어 있어서, 해당 시간이 지나면 다른 프로세스로 전환된다. 따라서, 프로세스 P1은 처음에 2단위 시간 동안 처리되고, 다시 P2와 P3이 각각 2단위 시간 동안 처리된다. 그리고 다시 P1이 2단위 시간 동안 처리되고, 이어서 P2와 P3이 각각 2단위 시간 동안 처리된다. 이런 식으로 모든 프로세스가 처리될 때까지 반복된다.

    따라서, 각 프로세스의 응답시간은 다음과 같다.

    - P1: 0 (도착 시간과 동일)
    - P2: 2 (처음에 P1이 2단위 시간 동안 처리되고 나서 처리됨)
    - P3: 4 (처음에 P1과 P2가 각각 2단위 시간 동안 처리되고 나서 처리됨)
    - P1: 6 (처음에 P2와 P3이 각각 2단위 시간 동안 처리되고 나서 처리됨)
    - P2: 8 (처음에 P3이 2단위 시간 동안 처리되고 나서 처리됨)
    - P3: 10 (마지막에 처리됨)

    따라서, 평균 응답시간은 (0+2+4+6+8+10)/3 = 5.33 이다. 이 값을 소수점 둘째자리에서 반올림하면 5.3이지만, 문제에서는 반올림하여 5.7로 계산하도록 명시되어 있으므로 5.7이 정답이다.
profile_image
1

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

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

  1. 5
  2. 15
  3. 20
  4. 25
(정답률: 73%)
  • 정답은 "15"이다.

    이유는 다음과 같다.

    1. 변수 i와 j를 각각 1과 4로 초기화한다.
    2. while문의 조건식 i 3. i와 j를 각각 2씩 증가시킨다. (i=3, j=6)
    4. i와 j를 각각 2씩 증가시킨다. (i=5, j=8)
    5. i와 j를 각각 2씩 증가시킨다. (i=7, j=10)
    6. i와 j를 각각 2씩 증가시킨다. (i=9, j=12)
    7. i와 j를 각각 2씩 증가시킨다. (i=11, j=14)
    8. while문의 조건식 i 9. i와 j의 합을 출력한다. (15)

    따라서 정답은 "15"이다.
profile_image
1

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

5. <보기>와 같이 수행되는 정렬 알고리즘으로 옳은 것은?

  1. 쉘 정렬 (shell sort)
  2. 히프 정렬(heap sort)
  3. 버블 정렬(bubble sort)
  4. 선택 정렬(selection sort)
(정답률: 59%)
  • 주어진 배열에서 가장 작은 값을 찾아 맨 앞으로 보내는 과정을 반복하여 정렬하는 알고리즘이다. 위의 그림에서도 가장 작은 값인 3을 찾아 맨 앞으로 보내는 과정이 반복되고 있다. 따라서 정답은 "선택 정렬(selection sort)"이다.
profile_image
1

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

6. 직원(사번,이름,입사년도,부서)테이블에 대한 SQL 문 중 문법적으로 옳은 것은?

  1. SELECT COUNT(부서) FROM 직원 GROUP 부서;
  2. SELECT * FROM 직원 WHERE 입사년도 IS NULL;
  3. SELECT 이름,입사년도 FROM 직원 WHERE 이름 =‘최%’;
  4. SELECT 이름,부서 FROM 직원 WHERE 입사년도 =(2014,2015);
(정답률: 57%)
  • 정답: SELECT * FROM 직원 WHERE 입사년도 IS NULL;

    이유: 이 SQL 문은 "직원" 테이블에서 "입사년도"가 NULL인 모든 행을 선택하는 것입니다. 이는 "입사년도"가 아직 기록되지 않은 새로운 직원 또는 이전 직원의 입사년도가 누락된 경우와 같은 상황에서 유용합니다.

    다른 SQL 문들은 문법적으로 잘못된 것입니다. 첫 번째 SQL 문은 COUNT 함수와 GROUP BY 절을 함께 사용하지 않았으며, 두 번째 SQL 문은 "입사년도"가 2014 또는 2015인 직원을 선택하려고 하지만 올바른 구문이 아닙니다. 세 번째 SQL 문은 이름이 "최"로 시작하는 직원의 이름과 입사년도를 선택하려고 하지만, "%" 기호를 사용하는 방법이 잘못되었습니다. 올바른 구문은 "SELECT 이름, 입사년도 FROM 직원 WHERE 이름 LIKE '최%';"입니다.
profile_image
1

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

7. <보기>와 같은 특성을 갖는 하드 디스크의 최대 저장 용량은?

  1. 4GB
  2. 16GB
  3. 64GB
  4. 1TB
(정답률: 56%)
  • 이 하드 디스크는 4개의 플래터를 가지고 있으며, 각 플래터는 4GB의 용량을 가지고 있습니다. 따라서, 전체 용량은 4GB x 4개의 플래터 = 16GB 입니다.
profile_image
1

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

8. <보기>의 직원 테이블에서 키(key)와 관련된 설명으로 옳지 않은 것은단,사번과 주민등록번호는 각 유일한 값을 갖고,부서번호는 부서 테이블을 참조하는 속성이며, 나이가 같은 동명이인이 존재할 수 있다)

  1. 부서번호는 외래키이다.
  2. 사번은 기본키가 될 수 있다.
  3. (이름.나이)는 후보키가 될 수 있다.
  4. 주민등록번호는 대체키가 될 수 있다.
(정답률: 78%)
  • 이름과 나이를 함께 사용하면 동명이인이 존재할 수 있어도 해당 직원을 유일하게 식별할 수 있기 때문에 후보키가 될 수 있다.
profile_image
1

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

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

  1. 베타(beta)테스트는 고객 사이트에서 사용자에 의해서 수행된다.
  2. 회귀(regression)테스트는 한 모듈의 수정이 다른 부분에 미치는 영향을 검사한다.
  3. 화이트 박스(white box)테스트는 모듈의 내부 구현보다는 입력과 출력에 의해 기능을 검사한다.
  4. 스트레스(stress) 테스트는 비정상적으로 과도한 분량 또는 빈도로 자원을 요청할 때의 영향을 감사한다.
(정답률: 72%)
  • 화이트 박스(white box)테스트는 모듈의 내부 구현보다는 입력과 출력에 의해 기능을 검사한다. (이 설명은 옳은 설명이다.)

    화이트 박스(white box)테스트는 소프트웨어의 내부 구조와 동작을 검사하는 테스트 방법으로, 코드의 논리적인 경로와 조건을 검증하고, 모든 분기점과 경로를 테스트하여 코드의 완전성과 정확성을 검증한다. 따라서 입력과 출력에 의해 기능을 검사하는 것이 아니라, 코드의 내부 구현을 검사하는 것이다.
profile_image
1

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

10. <보기>에 선언된 배열 A의 원소 A[8][7]의 주소를 행 우선(row-major) 순서와 열 우선(column-major) 순서로 각각 바르게 계산한 것은단, 첫 번째 원소 A[0][0]의 주소는 1,000이고, 하나의 원소는 1byte를 차지한다.) (순서대로 행 우선 주소, 열 우선 주소)

  1. 1,167, 1,148
  2. 1,167, 1,218
  3. 1,247, 1,148
  4. 1,247, 1,218
(정답률: 44%)
  • 배열 A의 원소 A[8][7]은 9번째 행의 8번째 열에 해당한다. 행 우선 순서로 주소를 계산할 때는 먼저 0번째 행부터 시작하므로, 8번째 열의 주소는 1,000 + (8*7 + 8)*1 = 1,247이 된다. 반면에 열 우선 순서로 주소를 계산할 때는 먼저 0번째 열부터 시작하므로, 9번째 행의 주소는 1,000 + (9 + 7*8)*1 = 1,148이 된다. 따라서 정답은 "1,247, 1,148"이다.
profile_image
1

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

11. 인터넷 주소 체계인 IPv4와 IPv6의 주소 길이와 주소표시 방법을 각각 바르게 나열한 것은? (순서대로 IPv4, IPv6)

  1. (32비트, 8비트씩 4부분), (128비트, 16비트씩 8부분)
  2. (32비트, 8비트씩 4부분), (128비트, 8비트씩 16부분)
  3. (64비트, 16비트씩 4부분), (256비트, 32비트씩 8부분)
  4. (64비트, 16비트씩 4부분), (256비트, 16비트씩 16부분)
(정답률: 61%)
  • IPv4는 32비트로 이루어져 있으며, 8비트씩 4부분으로 나누어 표시된다. 이는 각 부분이 0부터 255까지의 10진수로 표현될 수 있기 때문이다.

    IPv6는 128비트로 이루어져 있으며, 16비트씩 8부분으로 나누어 표시된다. 이는 각 부분이 16진수로 표현될 수 있기 때문이다. 따라서 각 부분은 0부터 FFFF까지의 값을 가질 수 있다.
profile_image
1

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

12. <보기>의 이진 트리에 대해 지정된 방법으로 순회한 결과가 옳지 않은 것은?

  1. 중위순회: D → B → A → E → C → F
  2. 레벨순회: A → B → C → D → E → F
  3. 전위순회: A → B → D → C → E → F
  4. 후위순회: D → B → A → E → F → C
(정답률: 46%)
  • 보기에서 옳지 않은 순회 결과는 "전위순회: A → B → D → C → E → F" 입니다. 이유는 전위순회는 루트 노드를 먼저 방문하고 왼쪽 서브트리를 방문한 후에 오른쪽 서브트리를 방문하는 순서인데, 보기의 이진 트리에서 루트 노드는 A이고 왼쪽 서브트리는 B, D이고 오른쪽 서브트리는 C, E, F인데, 전위순회 결과에서는 B, D, C, E, F의 순서가 올바르지 않습니다.

    후위순회는 왼쪽 서브트리를 먼저 방문하고 오른쪽 서브트리를 방문한 후에 루트 노드를 방문하는 순서인데, 보기의 이진 트리에서 왼쪽 서브트리는 D, B이고 오른쪽 서브트리는 E, F, C인데, 후위순회 결과에서는 D, B, A, E, F, C의 순서가 올바릅니다.
profile_image
1

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

13. 컴퓨터 시스템의 인터럽트(interrupt)에 대한 설명으로 옳지 않은 것은?

  1. 인터럽트는 입출력 연산, 하드웨어 실패, 프로그램 오류 등에 의해서 발생한다.
  2. 인터럽트 처리 우선순위 결정 방식에는 폴링(polling) 방식과 데이지 체인(daisy-chain) 방식이 있다.
  3. 인터럽트가 추가된 명령어 사이클은 인출 사이클, 인터럽트 사이클, 실행 사이클 순서로 수행된다.
  4. 인터럽트가 발생할 경우, 진행 중인 프로그램의 재개(resume)에 필요한 레지스터 문맥(register context)을 저장한다.
(정답률: 45%)
  • 인터럽트가 추가된 명령어 사이클은 인출 사이클, 인터럽트 사이클, 실행 사이클 순서로 수행되는 것은 옳은 설명이다. 인터럽트가 발생하면 현재 실행 중인 프로그램을 일시 중단하고, 인터럽트 처리 루틴을 실행하게 된다. 이때, 인출 사이클에서는 인터럽트 처리 루틴의 주소를 가져오고, 인터럽트 사이클에서는 현재 실행 중인 프로그램의 상태를 저장하고 인터럽트 처리 루틴으로 분기한다. 마지막으로 실행 사이클에서는 인터럽트 처리 루틴을 실행하고, 처리가 끝나면 이전에 실행 중이던 프로그램으로 복귀한다.
profile_image
1

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

14. 다음은 3년간 연이율 4%로 매월 적립하는 월 복리 정기적금의 만기지급금을 계산한 결과이다. 셀 C2에 들어갈 수식으로 옳은 것은? (단, 만기지급금의 10원 단위 미만은 절사한다)

  1. =ROUNDDOWN(FV(4%, 3*12, -B2), -1)
  2. =ROUNDDOWN(FV(4%, 3*12, -B2), -2)
  3. =ROUNDDOWN(FV(4%/12, 3*12, -B2), -1)
  4. =ROUNDDOWN(FV(4%/12, 3*12, -B2), -2)
(정답률: 51%)
  • 정답은 "=ROUNDDOWN(FV(4%/12, 3*12, -B2), -1)"이다.

    이유는 다음과 같다.

    - FV(4%/12, 3*12, -B2) : 월 복리 정기적금의 만기지급금을 계산하는 함수. 연이율 4%를 월 이율로 환산하여 3년(36개월) 동안 매월 적립한 금액에 대한 만기지급금을 계산한다. -B2는 매월 적립한 금액을 나타내는데, 음수로 입력하여 입금으로 처리한다.
    - ROUNDDOWN(FV(4%/12, 3*12, -B2), -1) : FV 함수의 결과값을 10원 단위로 절사하는 함수. -1은 소수점 첫째자리에서 절사하라는 의미이다. 만약 -2로 입력하면 소수점 둘째자리에서 절사하게 된다.

    따라서, "=ROUNDDOWN(FV(4%/12, 3*12, -B2), -1)"은 3년간 연이율 4%로 매월 적립하는 월 복리 정기적금의 만기지급금을 계산하고, 10원 단위로 절사하여 결과를 출력하는 수식이다.
profile_image
1

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

15. 정점의 개수가 n인 연결그래프로부터 생성 가능한 신장트리(spamming tree)의 간선의 개수는?

  1. n-1
  2. n
  3. n(n-1)/2
  4. n2
(정답률: 49%)
  • 신장트리는 그래프의 모든 정점을 포함하면서 사이클이 없는 트리이다. 따라서 n개의 정점을 가진 그래프에서 신장트리를 만들기 위해서는 n-1개의 간선이 필요하다. 이는 트리의 성질에서도 알 수 있듯이, n개의 정점을 가진 트리는 항상 n-1개의 간선을 가지기 때문이다. 따라서 정답은 "n-1"이다.
profile_image
1

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

16. <보기>는 관계형 데이터베이스의 정규화 작업을 설명한 것이다. 제1정규형, 제2정규형, 제3정규형, BCNF를 생성하는 정규화 작업을 순서대로 나열한 것은?

  1. ㄱ → ㄴ → ㄷ → ㄹ
  2. ㄱ → ㄷ → ㄹ → ㄴ
  3. ㄷ → ㄱ → ㄴ → ㄹ
  4. ㄷ → ㄴ → ㄹ → ㄱ
(정답률: 53%)
  • 정규화 작업은 중복을 제거하고 데이터를 분리하여 데이터의 일관성과 무결성을 유지하기 위한 작업이다. 따라서, 먼저 제1정규형으로 분리하고, 그 다음에는 제2정규형으로 분리하며, 이후에는 제3정규형으로 분리한다. 마지막으로 BCNF로 분리한다. 이에 따라 "ㄷ → ㄴ → ㄹ → ㄱ"이 정답이다.
profile_image
1

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

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

  1. ACD
  2. BCD
  3. ABCD
  4. BACD
(정답률: 45%)
  • 정답은 "BCD"이다.

    이유는 다음과 같다.

    1. for문에서 i는 0부터 3까지 증가하면서 반복한다.
    2. if문에서 i가 1일 때 continue를 만나므로 i=1일 때는 출력하지 않고 다음 반복으로 넘어간다.
    3. switch문에서 i가 0일 때 'A'를 출력하고 break를 만나므로 다음 case로 넘어가지 않는다.
    4. i가 2일 때 'C'를 출력하고 break를 만나므로 다음 case로 넘어가지 않는다.
    5. i가 3일 때 'D'를 출력하고 break를 만나므로 switch문을 빠져나온다.
    6. 따라서 출력 결과는 "BCD"가 된다.
profile_image
1

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

18. <보기>는 공개키 암호 방식을 전자 서명(digital signature)에 적용하여 A가 B에게 메시지를 전송하는 과정에 대한 설명이다. ㉠, ㉡에 들어갈 내용으로 옳은 것은? (순서대로 ㉠, ㉡)

  1. A의 개인키, A의 공개키
  2. A의 개인키, B의 공개키
  3. A의 공개키, B의 개인키
  4. B의 공개키, B의 개인키
(정답률: 43%)
  • ㉠: A가 메시지를 전송할 때, A는 자신의 개인키로 메시지를 암호화하여 전송한다. 이때 B는 A의 공개키를 이용하여 암호화된 메시지를 해독할 수 있다. 따라서 ㉠의 정답은 "A의 개인키"이다.

    ㉡: B가 메시지를 수신한 후, 전송자가 A임을 확인하기 위해 A의 공개키를 이용하여 전송된 메시지를 해독한다. 이때 A의 공개키는 A만이 가지고 있으므로, 메시지를 해독할 수 있는 사람은 A뿐이다. 따라서 ㉡의 정답은 "A의 공개키"이다.
profile_image
1

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

19. 프로그래밍 언어에 대한 설명으로 옳지 않은 것은?

  1. Objective-C, Java, C#은 객체지향 언어이다.
  2. Python은 정적 타이핑을 지원하는 컴파일러 방식의 언어이다.
  3. ASP, JSP, PHP는 서버 측에서 실행되는 스크립트 언어이다.
  4. XML은 전자문서를 표현하는 확장가능한 표준 마크업 언어이다.
(정답률: 52%)
  • Python은 동적 타이핑을 지원하는 인터프리터 방식의 언어이다. 컴파일러 방식이 아니라 인터프리터 방식이기 때문에 코드를 실행하기 위해 별도의 컴파일 단계가 필요하지 않다.
profile_image
1

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

20. <보기>의 설명에 해당하는 기술로 가장 적절한 것은?

  1. 빅데이터(bigdata)
  2. 딥 러닝(deep learning)
  3. 사물 인터넷(internet of things)
  4. 클라우드 컴퓨팅(cloud computing)
(정답률: 69%)
  • 이미지에서 보이는 것은 클라우드 컴퓨팅의 대표적인 형태인 "클라우드 스토리지"이다. 클라우드 컴퓨팅은 인터넷을 통해 서버, 스토리지, 데이터베이스, 소프트웨어, 네트워크 등의 컴퓨팅 서비스를 제공하는 기술이다. 이를 통해 사용자는 자신의 컴퓨터나 서버에 직접 설치하지 않고도 필요한 컴퓨팅 자원을 인터넷을 통해 이용할 수 있다. 이는 빅데이터, 딥 러닝, 사물 인터넷 등과 함께 혁신적인 IT 기술 중 하나로 꼽힌다.
profile_image
1

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

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