[계리직 컴퓨터일반] 21년 1회차
계리직 컴퓨터일반 기출문제

21년 1회차

총 20문항 · 객관식 · A4 약 1장

1 / 1
A4정답 포함
계리직 컴퓨터일반 기출문제모두CBT · moducbt.com

21년 1회차

총 20문항 · 객관식 · 정답·해설 포함
문제 1
관계데이터베이스 관련 다음 설명에서 ㉠~㉣에 들어갈 용어를 바르게 짝지은 것은?

( ㉠ ) 무결성 제약이란 각 릴레이션(relation)에 속한 각 애트리뷰트(attribute)가 해당 ( ㉡ )을 만족하면서 ( ㉢ )할 수 없는 ( ㉣ ) 값을 가져서는 안 된다는 것을 말한다.

1㉠참조 ㉡고립성 ㉢변경 ㉣외래키
2㉠개체 ㉡고립성 ㉢참조 ㉣기본키
3㉠참조 ㉡도메인 ㉢참조 ㉣외래키
4㉠개체 ㉡도메인 ㉢변경 ㉣기본키
정답 및 해설

빈칸에 들어갈 용어는 ㉠참조 ㉡도메인 ㉢참조 ㉣외래키이다.

참조 무결성은 외래키 값이 도메인을 만족하면서, 참조되는 릴레이션의 기본키 값으로 실제 존재하거나 널이어야 한다는 제약이다. 즉 참조할 수 없는 외래키 값을 가질 수 없다.

  • ㉠을 개체로 둔 짝: 개체 무결성은 기본키가 널이나 중복 값을 가질 수 없다는 제약으로, 다른 릴레이션을 참조하는 값에 관한 설명이 아니다.
  • ㉡을 고립성으로 둔 짝: 고립성(isolation)은 트랜잭션의 ACID 특성으로, 애트리뷰트가 만족해야 할 값의 범위는 도메인이다.
  • ㉢을 변경으로 둔 짝: 이 제약의 핵심은 값의 변경 가능 여부가 아니라 참조 가능 여부이다.
문제 2
다음 워크시트에서 [D1] 셀에 =$A$1+$B2를 입력한 후 [D1] 셀을 복사하여 [D5] 셀에 붙여넣기 했을 때 [D5] 셀에 표시될 수 있는 결과로 옳은 것은?
ABCD
1123
2246
3369
44812
551015
6
11
27
39
415
정답 및 해설

[D5] 셀에는 1이 표시된다.

$A$1은 행·열 모두 고정된 절대 참조이고, $B2는 열만 고정되고 행은 바뀌는 혼합 참조이다. [D1]에서 [D5]로 4행 아래에 붙여넣었으므로 수식은 =$A$1+$B6이 된다.

A1은 1이고 B6은 빈 셀이라 0으로 계산되므로 결과는 1+0=1이다.

  • 7: 붙여넣은 수식이 참조하는 A1(1)과 빈 셀 B6(0)의 합이 아니다.
  • 9: C3의 값으로, 수식이 참조하는 A1·B6과 무관하다.
  • 15: C5의 값으로, 수식이 참조하는 셀과 무관하다.
문제 3
관계데이터베이스의 인덱스(index)에 대한 설명으로 옳은 것의 총 개수는?
  • ㄱ. 기본키의 경우, 자동으로 인덱스가 생성되며 인덱스 구축 시 두 개 이상의 칼럼(column)을 결합하여 인덱스를 생성할 수 있다.
  • ㄴ. SQL 명령문의 검색 결과는 인덱스 사용 여부와 관계없이 동일하며 인덱스는 검색 속도에 영향을 미친다.
  • ㄷ. 데이터베이스의 전체적인 성능을 향상시키기 위해서는 테이블의 모든 칼럼(column)에 대하여 인덱스를 생성해야 한다.
  • ㄹ. 인덱스는 칼럼(column)에 대하여 생성되며 테이블 내의 데이터를 순차적으로 접근하여 검색 결과를 제공한다.
11개
22개
33개
44개
정답 및 해설

옳은 설명은 ㄱ과 ㄴ으로 총 2개이다.

기본키에는 인덱스가 자동 생성되고 여러 칼럼을 묶은 결합(복합) 인덱스도 만들 수 있다. 인덱스는 검색 결과 자체는 바꾸지 않고 검색 속도에만 영향을 준다.

  • ㄷ: 모든 칼럼에 인덱스를 만들면 삽입·삭제·갱신 때마다 인덱스도 갱신해야 해 저장 공간과 처리 부담이 커지므로, 자주 검색되는 칼럼에만 선택적으로 만든다.
  • ㄹ: 인덱스는 정렬된 키와 위치 정보를 이용해 원하는 행에 바로 접근하는 구조이며, 테이블을 처음부터 순차적으로 읽는 것은 인덱스가 없을 때의 방식이다.
문제 4
트랜잭션(transaction)의 복구(recovery) 진행 시 복구대상을 제외, 재실행(Redo), 실행취소(Undo) 할 것으로 구분하였을 때 옳은 것은?
1①
2②
3③
4④
정답 및 해설

올바른 구분은 제외 T1T_1, 재실행 T2,T3,T6T_2, T_3, T_6, 실행취소 T4,T5T_4, T_5이다.

검사점(tst_s) 이전에 완료된 트랜잭션은 이미 디스크에 반영되었으므로 복구에서 제외한다. 장애(tft_f) 이전에 완료(커밋)된 트랜잭션은 재실행(Redo), 장애 시점까지 끝나지 않은 트랜잭션은 실행취소(Undo)한다.

  • T1T_1은 검사점 전에 시작·종료되어 제외 대상이다.
  • T2,T3T_2, T_3은 검사점 전에 시작했지만 장애 전에 끝났고, T6T_6은 검사점 후 시작해 장애 전에 끝났으므로 모두 재실행 대상이다. 따라서 T6T_6을 실행취소로 둔 구분은 틀리다.
  • T4,T5T_4, T_5는 장애 시점에도 실행 중이었으므로 실행취소 대상이며, 이를 제외하거나 완료된 T1,T2,T3T_1, T_2, T_3을 실행취소로 둔 구분은 틀리다.
문제 5
다음 워크시트에서 수식 =VLOOKUP(LARGE(C4:C11,3), C4:F11, 4, 0)에 의해 표시될 수 있는 결과로 옳은 것은?
ABCDEF
12021년 1월 판매현황 분석
2
3상품명판매단가초과/부족수량목표수량판매수량판매금액
4공기청정기1501010011016,500
5김치냉장고851315282,380
6드럼세탁기90-535302,700
7스마트TV1501345588,700
8의류건조기230520255,750
9인덕션오븐1202030506,000
10무선청소기70830382,660
11식기세척기150-1040304,500
158
22,380
38,700
416,500
정답 및 해설

수식의 결과는 2,380이다.

LARGE(C4:C11,3)은 초과/부족수량 중 세 번째로 큰 값이다. 값을 큰 순으로 나열하면 20, 13, 13, …이므로 13이다.

VLOOKUP(13, C4:F11, 4, 0)은 C열에서 13과 정확히 일치하는 첫 행(김치냉장고, 5행)을 찾아 범위의 네 번째 열인 판매금액을 반환하므로 2,380이다.

  • 58: 스마트TV의 판매수량으로, 같은 13이라도 위쪽 행(김치냉장고)이 먼저 찾아지고 반환 열도 판매금액이다.
  • 8,700: 스마트TV의 판매금액으로, VLOOKUP은 일치하는 값이 여러 개면 첫 번째 행을 반환한다.
  • 16,500: 초과/부족수량이 10인 공기청정기의 판매금액으로, 찾는 값 13과 일치하지 않는다.
문제 6
UML의 클래스 다이어그램에서 클래스 사이의 관계에 대한 설명으로 옳지 않은 것은?
1일반화(generalization) 관계는 일반화한 부모 클래스와 실체화한 자식 클래스 간의 상속 관계를 나타낸다.
2연관(association) 관계에서 다중성(multiplicity)은 관계 사이에 개입하는 클래스의 인스턴스 개수를 의미한다.
3의존(dependency) 관계는 한 클래스가 다른 클래스를 참조하는 것으로 지역변수, 매개변수 등을 일시적으로 사용하는 관계이다.
4집합(aggregation) 관계는 강한 전체와 부분의 클래스 관계이므로 전체 객체가 소멸되면 부분 객체도 소멸된다.
정답 및 해설

옳지 않은 설명은 집합 관계를 강한 전체-부분 관계로 본 것이다.

집합(aggregation)은 부분 객체가 전체와 독립적으로 존재할 수 있는 약한 전체-부분 관계이고, 전체가 소멸할 때 부분도 함께 소멸하는 강한 관계는 합성(composition)이다.

  • 일반화 관계: 부모 클래스와 자식 클래스 사이의 상속(is-a) 관계를 나타내므로 옳다.
  • 연관 관계의 다중성: 관계에 참여하는 인스턴스 개수(1, 0..*, 1..* 등)를 뜻하므로 옳다.
  • 의존 관계: 지역변수·매개변수처럼 다른 클래스를 일시적으로 참조·사용하는 관계이므로 옳다.
문제 7
다음에서 설명하는 소프트웨어 아키텍처의 유형으로 옳은 것은?
  • 사용자 인터페이스를 시스템의 비즈니스 로직 부분과 분리하는 구조
  • 결합도(coupling)를 낮추기 위한 소프트웨어 아키텍처 패턴 구조
  • 디자인 패턴 중 옵서버(observer) 패턴에 해당하는 구조
1클라이언트-서버(client-server) 아키텍처
2브로커(broker) 아키텍처
3MVC(Model-View-Controller) 아키텍처
4계층형(layered) 아키텍처
정답 및 해설

설명하는 아키텍처는 MVC(Model-View-Controller) 아키텍처이다.

MVC는 데이터와 비즈니스 로직(Model), 화면(View), 입력 처리(Controller)를 분리해 결합도를 낮춘다. 모델이 바뀌면 등록된 뷰에 변경을 알리는 방식이 옵서버 패턴에 해당한다.

  • 클라이언트-서버 아키텍처: 서비스를 요청하는 클라이언트와 제공하는 서버로 나누는 구조로, UI와 로직 분리나 옵서버 패턴과 직접 관련이 없다.
  • 브로커 아키텍처: 분산 컴포넌트 사이의 요청을 중개자가 전달·조정하는 구조이다.
  • 계층형 아키텍처: 시스템을 상하 계층으로 나누어 각 계층이 바로 아래 계층의 서비스만 이용하는 구조이다.
문제 8
다음 C 프로그램의 실행 결과로 옳은 것은?
#include <stdio.h>

void main(void) {
int a = 1, b = 2, c = 3;
{
int b = 4, c = 5;
a = b;
{
int c;
c = b;
}
printf("%d %d %d\n", a, b, c);
}
}
11 2 3
21 4 5
34 2 3
44 4 5
정답 및 해설

실행 결과는 4 4 5이다.

C에서 블록 안에 같은 이름의 변수를 선언하면 그 블록에서는 바깥 변수가 가려진다(변수의 유효 범위). a는 다시 선언되지 않았으므로 바깥 a가 그대로 쓰인다.

두 번째 블록에서 b=4, c=5가 새로 선언되고 a = b로 바깥 a가 4가 된다. 가장 안쪽 블록의 c = b는 새로 선언한 c에만 대입되고 블록이 끝나면 사라지므로, printf 시점의 값은 a=4, b=4, c=5이다.

  • 1 2 3: 바깥 블록의 초깃값으로, 내부 블록의 선언과 a = b 대입을 반영하지 않았다.
  • 1 4 5: a = b가 바깥 a를 바꾼다는 점을 놓쳤다.
  • 4 2 3: printf가 내부 블록 안에 있어 b·c는 내부에서 선언한 4·5가 출력된다.
문제 9
클라우드 서버에 저장된 데이터 용량이 1024PB(Peta Byte)일 때 이 데이터와 동일한 크기의 저장 용량으로 옳지 않은 것은? (단, 1KB는 1024Byte)
11024-1ZB(Zetta Byte)
210242TB(Tera Byte)
31024-3YB(Yotta Byte)
410244MB(Mega Byte)
정답 및 해설

1024PB와 같지 않은 것은 1024의 -3제곱 YB이다.

1KB = 1024Byte이므로 단위가 한 단계(K→M→G→T→P→E→Z→Y) 오를 때마다 1024배가 된다. 따라서 1024PB = 1EB이고, YB는 EB보다 두 단계 위이므로 1 EB=1024−2 YB1\,\mathrm{EB} = 1024^{-2}\,\mathrm{YB}가 되어 지수가 맞지 않는다.

  • ZB 표기: EB보다 한 단계 위이므로 1024−1 ZB1024^{-1}\,\mathrm{ZB}로 같다.
  • TB 표기: P, E 두 단계 아래이므로 10242 TB1024^{2}\,\mathrm{TB}로 같다.
  • MB 표기: G, T, P, E 네 단계 아래이므로 10244 MB1024^{4}\,\mathrm{MB}로 같다.
문제 10
유비쿼터스 컴퓨팅 기술에 대한 설명으로 옳지 않은 것은?
1노매딕 컴퓨팅(nomadic computing)은 사용자가 모든 장소에서 사용자 인증 없이 다양한 정보기기로 동일한 데이터에 접근하는 기술이다.
2엑조틱 컴퓨팅(exotic computing)은 스스로 생각하여 현실세계와 가상세계를 연계하는 컴퓨팅을 실현해 주는 기술이다.
3감지 컴퓨팅(sentient computing)은 센서가 사용자의 상황을 인식하여 사용자가 필요한 정보를 제공해 주는 기술이다.
4임베디드 컴퓨팅(embedded computing)은 사물에 마이크로칩을 장착하여 서비스 기능을 내장하는 컴퓨팅 기술이다.
정답 및 해설

옳지 않은 설명은 노매딕 컴퓨팅을 사용자 인증 없이 접근하는 기술로 정의한 것이다.

노매딕 컴퓨팅의 핵심은 장소에 구애받지 않고 어디서나 네트워크에 접속해 같은 데이터를 쓰는 이동성이며, 인증 절차를 생략한다는 의미는 없다.

  • 엑조틱 컴퓨팅: 스스로 판단해 현실세계와 가상세계를 연계하는 컴퓨팅이라는 설명은 옳다.
  • 감지 컴퓨팅: 센서로 사용자 상황을 인식해 필요한 정보를 제공한다는 설명은 옳다.
  • 임베디드 컴퓨팅: 사물에 마이크로칩을 넣어 서비스 기능을 내장한다는 설명은 옳다.
문제 11
하나의 컴퓨터 시스템에서 여러 개의 어플리케이션(application)들이 함께 주기억장치에 적재되어 하나의 CPU 자원을 번갈아 사용하는 형태로 수행되게 하는 기법으로 옳은 것은?
1다중프로그래밍(multi-programming)
2다중프로세싱(multi-processing)
3병렬처리(parallel processing)
4분산처리(distributed processing)
정답 및 해설

여러 프로그램을 주기억장치에 함께 적재하고 하나의 CPU를 번갈아 쓰게 하는 기법은 다중프로그래밍이다.

한 프로그램이 입출력을 기다리는 동안 다른 프로그램에 CPU를 넘겨 CPU 유휴 시간을 줄이는 것이 목적이다.

  • 다중프로세싱: 여러 개의 CPU(프로세서)로 동시에 처리하는 방식이다.
  • 병렬처리: 하나의 작업을 나누어 여러 처리기가 동시에 수행하는 방식이다.
  • 분산처리: 네트워크로 연결된 여러 컴퓨터가 작업을 나누어 처리하는 방식이다.
문제 12
주기억장치와 CPU 캐시 기억장치만으로 구성된 시스템에서 다음과 같이 기억장치 접근 시간이 주어질 때 이 시스템의 캐시 적중률(hit ratio)로 옳은 것은?
  • 주기억장치 접근 시간: TmT_m=80ns
  • CPU 캐시 기억장치 접근 시간: TcT_c=10ns
  • 기억장치 평균 접근 시간(expected memory access time): TaT_a=17ns
180%
285%
390%
495%
정답 및 해설

캐시 적중률은 90%이다.

평균 접근 시간은 적중 시 캐시 접근 시간, 실패 시 주기억장치 접근 시간을 적중률로 가중 평균한 값이다.
Ta=h×Tc+(1−h)×TmT_a = h \times T_c + (1-h) \times T_m

17=10h+80(1−h)=80−70h17 = 10h + 80(1-h) = 80 - 70h
70h=63⇒h=0.970h = 63 \Rightarrow h = 0.9

  • 80%: 대입하면 평균 접근 시간이 24ns가 되어 주어진 17ns보다 길다.
  • 85%: 대입하면 평균 접근 시간이 20.5ns가 된다.
  • 95%: 대입하면 평균 접근 시간이 13.5ns가 되어 주어진 값보다 짧다.
문제 13
컴퓨터 시스템의 주기억장치 및 보조기억장치에 대한 설명으로 옳지 않은 것은?
1RAM은 휘발성(volatile) 기억장치이며 HDD 및 SSD는 비휘발성(non-volatile) 기억장치이다.
2RAM의 경우, HDD나 SSD 등의 보조기억장치에 비해 상대적으로 접근 속도가 빠르다.
3SSD에서는 일반적으로 특정 위치의 데이터를 읽는 데 소요되는 시간이 같은 위치에 데이터를 쓰는 데 소요되는 시간보다 더 오래 걸린다.
4SSD의 경우, 일반적으로 HDD보다 가볍고 접근 속도가 빠르며 전력 소모가 적다.
정답 및 해설

옳지 않은 설명은 SSD에서 읽기가 쓰기보다 오래 걸린다고 한 것이다.

플래시 메모리 기반 SSD는 쓰기 전에 블록 단위 소거가 필요해 일반적으로 쓰기가 읽기보다 느리다.

  • 휘발성 구분: RAM은 전원이 꺼지면 내용이 사라지는 휘발성, HDD·SSD는 비휘발성이므로 옳다.
  • 접근 속도 비교: RAM이 보조기억장치보다 접근 속도가 빠르므로 옳다.
  • SSD와 HDD 비교: SSD는 기계적 부품이 없어 가볍고 빠르며 전력 소모가 적으므로 옳다.
문제 14
다음 표에서 보인 4개의 프로세스들을 시간 할당량(time quantum)이 5인 라운드로빈(round-robin) 스케줄링 기법으로 실행시켰을 때 평균 반환 시간으로 옳은 것은?
프로세스도착 시간실행 시간
P1010
P2115
P336
P469

(단, 반환 시간이란 프로세스가 도착하는 시점부터 실행을 종료할 때까지 소요된 시간을 의미한다. 또한, 이들 4개의 프로세스들은 I/O 없이 CPU만을 사용한다고 가정하며, 문맥교환(context switching)에 소요되는 시간은 무시한다.)

124.0
229.0
329.75
430.25
정답 및 해설

평균 반환 시간은 29.0이다.

시간 할당량 5씩 도착 순서대로 돌리며, 할당량을 다 쓴 프로세스는 그 시점까지 도착한 프로세스 뒤의 준비 큐 맨 뒤로 간다.

실행 순서: P1(0~5) → P2(5~10) → P3(10~15) → P1(15~20, 종료) → P4(20~25) → P2(25~30) → P3(30~31, 종료) → P4(31~35, 종료) → P2(35~40, 종료)

반환 시간 = 종료 − 도착: P1 20, P2 39, P3 28, P4 29
평균 (20+39+28+29)÷4=116÷4=29.0(20+39+28+29) \div 4 = 116 \div 4 = 29.0

  • 24.0: 반환 시간 합이 96인 경우로, 실제 합 116보다 작다.
  • 29.75: 반환 시간 합이 119인 경우로, 준비 큐 순서를 잘못 추적하면 나오는 값이다.
  • 30.25: 반환 시간 합이 121인 경우로, 실제 합 116보다 크다.
문제 15
LRU(Least Recently Used) 교체 기법을 사용하는 요구 페이징(demand paging) 시스템에서 3개의 페이지 프레임(page frame)을 할당받은 프로세스가 다음과 같은 순서로 페이지에 접근했을 때 발생하는 페이지 부재(page fault) 횟수로 옳은 것은? (단, 할당된 페이지 프레임들은 초기에 모두 비어 있다고 가정한다.)

페이지 참조 순서(page reference string):
1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7

17번
210번
314번
415번
정답 및 해설

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

앞부분 1, 2, 3 반복 구간은 처음 세 번만 부재가 나고 이후 9회는 모두 적중한다(부재 3회).

뒷부분은 4, 5, 6, 7 네 페이지가 순환하는데 프레임은 3개뿐이다. LRU는 가장 오래전에 쓴 페이지를 내보내므로 바로 다음에 필요한 페이지가 늘 쫓겨나 12회 모두 부재가 난다(부재 12회). 합계 3+12=15이다.

  • 7회: 서로 다른 페이지 수(1~7)만 센 값으로, 순환 참조에서 반복되는 교체를 반영하지 않았다.
  • 10회: 뒷부분 순환 구간에서 적중이 있다고 본 값이지만, 4개 페이지를 3개 프레임에서 LRU로 순환하면 적중이 생기지 않는다.
  • 14회: 부재 한 번을 적중으로 잘못 센 값으로, 앞 구간 3회와 뒤 구간 12회를 더하면 15회이다.
문제 16
인터넷에서 사용하는 IPv6에 대한 설명으로 옳지 않은 것은?
1패킷 헤더의 체크섬(checksum)을 통해 데이터 무결성 검증 기능을 지원한다.
2QoS(Quality of Service) 보장을 위해 흐름 레이블링(flow labeling) 기능을 지원한다.
3IPv6의 주소 체계는 16비트씩 8개 부분, 총 128비트로 구성되어 있다.
4IPv6 주소 표현에서 연속된 0에 대한 생략을 위한 :: 표기는 1번만 가능하다.
정답 및 해설

옳지 않은 설명은 IPv6가 헤더 체크섬으로 무결성을 검증한다는 것이다.

IPv6는 라우터의 처리 부담을 줄이기 위해 IPv4에 있던 헤더 체크섬 필드를 제거했고, 오류 검출은 링크 계층과 상위 계층(TCP·UDP)에 맡긴다.

  • 흐름 레이블: QoS 보장을 위해 같은 흐름의 패킷을 식별하는 Flow Label 필드가 있으므로 옳다.
  • 주소 구성: 16비트씩 8개 필드, 총 128비트이므로 옳다.
  • :: 생략 표기: 연속된 0 필드 생략은 주소의 모호성을 막기 위해 한 번만 허용되므로 옳다.
문제 17
다음 정수를 왼쪽부터 순서대로 삽입하여 이진 탐색 트리(binary search tree)를 구성했을 때 단말 노드(leaf node)를 모두 나열한 것은?

44, 36, 62, 3, 16, 51, 75, 68, 49, 85, 57

116, 49, 51, 57, 85
216, 49, 57, 68, 85
349, 51, 57, 68, 85
449, 57, 68, 75, 85
정답 및 해설

단말 노드는 16, 49, 57, 68, 85이다.

이진 탐색 트리는 루트부터 비교해 작으면 왼쪽, 크면 오른쪽으로 내려가 빈 자리에 삽입한다.

루트 44의 왼쪽에 36, 36의 왼쪽에 3, 3의 오른쪽에 16이 붙는다. 오른쪽은 62 아래 왼쪽 51(자식 49·57), 오른쪽 75(자식 68·85)가 된다. 자식이 없는 노드는 16, 49, 57, 68, 85이다.

  • 16, 49, 51, 57, 85: 51은 49와 57을 자식으로 가지는 내부 노드이고, 단말 노드인 68이 빠졌다.
  • 49, 51, 57, 68, 85: 3의 오른쪽 자식인 16이 단말 노드인데 빠졌고, 내부 노드인 51이 들어갔다.
  • 49, 57, 68, 75, 85: 75는 68과 85를 자식으로 가지는 내부 노드이고, 단말 노드인 16이 빠졌다.
문제 18
다음 과정을 통해 수행되는 정렬 알고리즘의 특징으로 옳지 않은 것은?
초기값159814
1단계915814
2단계891514
3단계189154
4단계148915
1최악의 경우에 시간 복잡도는 O(n2)이다.
2원소 수가 적거나 거의 정렬된 경우에 효과적이다.
3선택정렬(selection sort)에 비해 비교연산 횟수가 같거나 적다.
4정렬 대상의 크기만큼 추가 공간이 필요하다.
정답 및 해설

옳지 않은 것은 정렬 대상의 크기만큼 추가 공간이 필요하다는 설명이다.

각 단계에서 앞쪽의 정렬된 부분에 다음 원소를 알맞은 위치로 끼워 넣고 있으므로 삽입 정렬이다. 삽입 정렬은 배열 안에서 원소를 옮기며 정렬하는 제자리 정렬이라 상수 크기의 추가 공간만 쓴다.

  • 최악의 경우 시간 복잡도: 역순으로 정렬된 입력이면 매번 앞 원소 전부와 비교·이동하므로 O(n2)O(n^2)이다.
  • 원소 수가 적거나 거의 정렬된 경우: 이미 정렬된 부분에서 비교가 곧 끝나 거의 O(n)O(n)에 가까워지므로 효과적이다.
  • 선택 정렬과의 비교 횟수: 선택 정렬은 항상 n(n−1)/2n(n-1)/2번 비교하지만 삽입 정렬은 그 이하이므로 같거나 적다.
문제 19
SET(Secure Electronic Transaction)에 대한 설명으로 옳지 않은 것은?
1프라이버시 보호를 위해 이중서명 프로토콜을 사용한다.
2카드 소지자는 전자 지갑 소프트웨어가 필요하다.
3인증기관(Certification Authority)이 필요하다.
4SSL(Secure Socket Layer)에 비해 고속으로 동작한다.
정답 및 해설

옳지 않은 설명은 SET이 SSL보다 고속으로 동작한다는 것이다.

SET은 이중서명과 다수의 인증서 검증 등 복잡한 암호 연산을 거치므로 SSL보다 느리고 구현이 복잡하다.

  • 이중서명: 주문 정보와 지불 정보를 분리해 상점과 은행이 각각 필요한 정보만 보게 하므로 옳다.
  • 전자 지갑: 카드 소지자는 전자 지갑 소프트웨어를 설치해야 하므로 옳다.
  • 인증기관: 참여자 인증서를 발급하는 인증기관이 필요하므로 옳다.
문제 20
「개인정보 보호법」의 개인정보 보호 원칙으로 옳은 것의 총 개수는?
  • ㄱ. 개인정보처리자는 개인정보의 처리 목적에 필요한 범위에서 개인정보의 정확성, 완전성 및 최신성이 보장되도록 하여야 한다.
  • ㄴ. 개인정보처리자는 개인정보의 처리 목적에 필요한 범위에서 적합하게 개인정보를 처리하여야 하며, 그 목적 외의 용도로 활용 하고자 하는 경우 개인정보 보호책임자의 동의를 받아야 한다.
  • ㄷ. 개인정보처리자는 개인정보 처리방법 등 개인정보의 처리에 관한 사항은 비공개하여야 하며, 열람청구권 등 정보주체의 권리를 보장하여야 한다.
  • ㄹ. 개인정보처리자는 개인정보를 가명 또는 익명으로 처리하여도 개인정보 수집목적을 달성할 수 있는 경우 가명처리가 가능한 경우에는 가명에 의하여, 가명처리로 목적을 달성할 수 없는 경우에는 익명에 의하여 처리될 수 있도록 하여야 한다.
11개
22개
33개
44개
정답 및 해설

개인정보 보호 원칙에 맞는 설명은 ㄱ뿐으로 총 1개이다.

「개인정보 보호법」 제3조는 처리 목적에 필요한 범위에서 개인정보의 정확성, 완전성 및 최신성이 보장되도록 하라고 규정하므로 ㄱ은 옳다.

  • ㄴ: 목적에 필요한 범위에서 적합하게 처리하고 목적 외의 용도로 활용하여서는 아니 된다는 것이 원칙이며, 보호책임자의 동의로 목적 외 활용을 허용하는 내용이 아니다.
  • ㄷ: 개인정보 처리방침 등 처리에 관한 사항은 공개하여야 한다.
  • ㄹ: 익명처리가 가능하면 익명에 의하여, 익명처리로 목적을 달성할 수 없으면 가명에 의하여 처리해야 하므로 순서가 뒤바뀌었다.
시험지 불러오는 중…
계리직 컴퓨터일반 기출문제모두CBT · moducbt.com
21년 1회차
총 20문항 · 객관식 · 정답·해설 포함
문제 1
관계데이터베이스 관련 다음 설명에서 ㉠~㉣에 들어갈 용어를 바르게 짝지은 것은?

( ㉠ ) 무결성 제약이란 각 릴레이션(relation)에 속한 각 애트리뷰트(attribute)가 해당 ( ㉡ )을 만족하면서 ( ㉢ )할 수 없는 ( ㉣ ) 값을 가져서는 안 된다는 것을 말한다.

1㉠참조 ㉡고립성 ㉢변경 ㉣외래키
2㉠개체 ㉡고립성 ㉢참조 ㉣기본키
3㉠참조 ㉡도메인 ㉢참조 ㉣외래키
4㉠개체 ㉡도메인 ㉢변경 ㉣기본키
정답 및 해설

빈칸에 들어갈 용어는 ㉠참조 ㉡도메인 ㉢참조 ㉣외래키이다.

참조 무결성은 외래키 값이 도메인을 만족하면서, 참조되는 릴레이션의 기본키 값으로 실제 존재하거나 널이어야 한다는 제약이다. 즉 참조할 수 없는 외래키 값을 가질 수 없다.

  • ㉠을 개체로 둔 짝: 개체 무결성은 기본키가 널이나 중복 값을 가질 수 없다는 제약으로, 다른 릴레이션을 참조하는 값에 관한 설명이 아니다.
  • ㉡을 고립성으로 둔 짝: 고립성(isolation)은 트랜잭션의 ACID 특성으로, 애트리뷰트가 만족해야 할 값의 범위는 도메인이다.
  • ㉢을 변경으로 둔 짝: 이 제약의 핵심은 값의 변경 가능 여부가 아니라 참조 가능 여부이다.
문제 2
다음 워크시트에서 [D1] 셀에 =$A$1+$B2를 입력한 후 [D1] 셀을 복사하여 [D5] 셀에 붙여넣기 했을 때 [D5] 셀에 표시될 수 있는 결과로 옳은 것은?
ABCD
1123
2246
3369
44812
551015
6
11
27
39
415
정답 및 해설

[D5] 셀에는 1이 표시된다.

$A$1은 행·열 모두 고정된 절대 참조이고, $B2는 열만 고정되고 행은 바뀌는 혼합 참조이다. [D1]에서 [D5]로 4행 아래에 붙여넣었으므로 수식은 =$A$1+$B6이 된다.

A1은 1이고 B6은 빈 셀이라 0으로 계산되므로 결과는 1+0=1이다.

  • 7: 붙여넣은 수식이 참조하는 A1(1)과 빈 셀 B6(0)의 합이 아니다.
  • 9: C3의 값으로, 수식이 참조하는 A1·B6과 무관하다.
  • 15: C5의 값으로, 수식이 참조하는 셀과 무관하다.
문제 3
관계데이터베이스의 인덱스(index)에 대한 설명으로 옳은 것의 총 개수는?
  • ㄱ. 기본키의 경우, 자동으로 인덱스가 생성되며 인덱스 구축 시 두 개 이상의 칼럼(column)을 결합하여 인덱스를 생성할 수 있다.
  • ㄴ. SQL 명령문의 검색 결과는 인덱스 사용 여부와 관계없이 동일하며 인덱스는 검색 속도에 영향을 미친다.
  • ㄷ. 데이터베이스의 전체적인 성능을 향상시키기 위해서는 테이블의 모든 칼럼(column)에 대하여 인덱스를 생성해야 한다.
  • ㄹ. 인덱스는 칼럼(column)에 대하여 생성되며 테이블 내의 데이터를 순차적으로 접근하여 검색 결과를 제공한다.
11개
22개
33개
44개
정답 및 해설

옳은 설명은 ㄱ과 ㄴ으로 총 2개이다.

기본키에는 인덱스가 자동 생성되고 여러 칼럼을 묶은 결합(복합) 인덱스도 만들 수 있다. 인덱스는 검색 결과 자체는 바꾸지 않고 검색 속도에만 영향을 준다.

  • ㄷ: 모든 칼럼에 인덱스를 만들면 삽입·삭제·갱신 때마다 인덱스도 갱신해야 해 저장 공간과 처리 부담이 커지므로, 자주 검색되는 칼럼에만 선택적으로 만든다.
  • ㄹ: 인덱스는 정렬된 키와 위치 정보를 이용해 원하는 행에 바로 접근하는 구조이며, 테이블을 처음부터 순차적으로 읽는 것은 인덱스가 없을 때의 방식이다.
문제 4
트랜잭션(transaction)의 복구(recovery) 진행 시 복구대상을 제외, 재실행(Redo), 실행취소(Undo) 할 것으로 구분하였을 때 옳은 것은?
1①
2②
3③
4④
정답 및 해설

올바른 구분은 제외 T1T_1, 재실행 T2,T3,T6T_2, T_3, T_6, 실행취소 T4,T5T_4, T_5이다.

검사점(tst_s) 이전에 완료된 트랜잭션은 이미 디스크에 반영되었으므로 복구에서 제외한다. 장애(tft_f) 이전에 완료(커밋)된 트랜잭션은 재실행(Redo), 장애 시점까지 끝나지 않은 트랜잭션은 실행취소(Undo)한다.

  • T1T_1은 검사점 전에 시작·종료되어 제외 대상이다.
  • T2,T3T_2, T_3은 검사점 전에 시작했지만 장애 전에 끝났고, T6T_6은 검사점 후 시작해 장애 전에 끝났으므로 모두 재실행 대상이다. 따라서 T6T_6을 실행취소로 둔 구분은 틀리다.
  • T4,T5T_4, T_5는 장애 시점에도 실행 중이었으므로 실행취소 대상이며, 이를 제외하거나 완료된 T1,T2,T3T_1, T_2, T_3을 실행취소로 둔 구분은 틀리다.
문제 5
다음 워크시트에서 수식 =VLOOKUP(LARGE(C4:C11,3), C4:F11, 4, 0)에 의해 표시될 수 있는 결과로 옳은 것은?
ABCDEF
12021년 1월 판매현황 분석
2
3상품명판매단가초과/부족수량목표수량판매수량판매금액
4공기청정기1501010011016,500
5김치냉장고851315282,380
6드럼세탁기90-535302,700
7스마트TV1501345588,700
8의류건조기230520255,750
9인덕션오븐1202030506,000
10무선청소기70830382,660
11식기세척기150-1040304,500
158
22,380
38,700
416,500
정답 및 해설

수식의 결과는 2,380이다.

LARGE(C4:C11,3)은 초과/부족수량 중 세 번째로 큰 값이다. 값을 큰 순으로 나열하면 20, 13, 13, …이므로 13이다.

VLOOKUP(13, C4:F11, 4, 0)은 C열에서 13과 정확히 일치하는 첫 행(김치냉장고, 5행)을 찾아 범위의 네 번째 열인 판매금액을 반환하므로 2,380이다.

  • 58: 스마트TV의 판매수량으로, 같은 13이라도 위쪽 행(김치냉장고)이 먼저 찾아지고 반환 열도 판매금액이다.
  • 8,700: 스마트TV의 판매금액으로, VLOOKUP은 일치하는 값이 여러 개면 첫 번째 행을 반환한다.
  • 16,500: 초과/부족수량이 10인 공기청정기의 판매금액으로, 찾는 값 13과 일치하지 않는다.
문제 6
UML의 클래스 다이어그램에서 클래스 사이의 관계에 대한 설명으로 옳지 않은 것은?
1일반화(generalization) 관계는 일반화한 부모 클래스와 실체화한 자식 클래스 간의 상속 관계를 나타낸다.
2연관(association) 관계에서 다중성(multiplicity)은 관계 사이에 개입하는 클래스의 인스턴스 개수를 의미한다.
3의존(dependency) 관계는 한 클래스가 다른 클래스를 참조하는 것으로 지역변수, 매개변수 등을 일시적으로 사용하는 관계이다.
4집합(aggregation) 관계는 강한 전체와 부분의 클래스 관계이므로 전체 객체가 소멸되면 부분 객체도 소멸된다.
정답 및 해설

옳지 않은 설명은 집합 관계를 강한 전체-부분 관계로 본 것이다.

집합(aggregation)은 부분 객체가 전체와 독립적으로 존재할 수 있는 약한 전체-부분 관계이고, 전체가 소멸할 때 부분도 함께 소멸하는 강한 관계는 합성(composition)이다.

  • 일반화 관계: 부모 클래스와 자식 클래스 사이의 상속(is-a) 관계를 나타내므로 옳다.
  • 연관 관계의 다중성: 관계에 참여하는 인스턴스 개수(1, 0..*, 1..* 등)를 뜻하므로 옳다.
  • 의존 관계: 지역변수·매개변수처럼 다른 클래스를 일시적으로 참조·사용하는 관계이므로 옳다.
문제 7
다음에서 설명하는 소프트웨어 아키텍처의 유형으로 옳은 것은?
  • 사용자 인터페이스를 시스템의 비즈니스 로직 부분과 분리하는 구조
  • 결합도(coupling)를 낮추기 위한 소프트웨어 아키텍처 패턴 구조
  • 디자인 패턴 중 옵서버(observer) 패턴에 해당하는 구조
1클라이언트-서버(client-server) 아키텍처
2브로커(broker) 아키텍처
3MVC(Model-View-Controller) 아키텍처
4계층형(layered) 아키텍처
정답 및 해설

설명하는 아키텍처는 MVC(Model-View-Controller) 아키텍처이다.

MVC는 데이터와 비즈니스 로직(Model), 화면(View), 입력 처리(Controller)를 분리해 결합도를 낮춘다. 모델이 바뀌면 등록된 뷰에 변경을 알리는 방식이 옵서버 패턴에 해당한다.

  • 클라이언트-서버 아키텍처: 서비스를 요청하는 클라이언트와 제공하는 서버로 나누는 구조로, UI와 로직 분리나 옵서버 패턴과 직접 관련이 없다.
  • 브로커 아키텍처: 분산 컴포넌트 사이의 요청을 중개자가 전달·조정하는 구조이다.
  • 계층형 아키텍처: 시스템을 상하 계층으로 나누어 각 계층이 바로 아래 계층의 서비스만 이용하는 구조이다.
문제 8
다음 C 프로그램의 실행 결과로 옳은 것은?
#include <stdio.h>

void main(void) {
int a = 1, b = 2, c = 3;
{
int b = 4, c = 5;
a = b;
{
int c;
c = b;
}
printf("%d %d %d\n", a, b, c);
}
}
11 2 3
21 4 5
34 2 3
44 4 5
정답 및 해설

실행 결과는 4 4 5이다.

C에서 블록 안에 같은 이름의 변수를 선언하면 그 블록에서는 바깥 변수가 가려진다(변수의 유효 범위). a는 다시 선언되지 않았으므로 바깥 a가 그대로 쓰인다.

두 번째 블록에서 b=4, c=5가 새로 선언되고 a = b로 바깥 a가 4가 된다. 가장 안쪽 블록의 c = b는 새로 선언한 c에만 대입되고 블록이 끝나면 사라지므로, printf 시점의 값은 a=4, b=4, c=5이다.

  • 1 2 3: 바깥 블록의 초깃값으로, 내부 블록의 선언과 a = b 대입을 반영하지 않았다.
  • 1 4 5: a = b가 바깥 a를 바꾼다는 점을 놓쳤다.
  • 4 2 3: printf가 내부 블록 안에 있어 b·c는 내부에서 선언한 4·5가 출력된다.
문제 9
클라우드 서버에 저장된 데이터 용량이 1024PB(Peta Byte)일 때 이 데이터와 동일한 크기의 저장 용량으로 옳지 않은 것은? (단, 1KB는 1024Byte)
11024-1ZB(Zetta Byte)
210242TB(Tera Byte)
31024-3YB(Yotta Byte)
410244MB(Mega Byte)
정답 및 해설

1024PB와 같지 않은 것은 1024의 -3제곱 YB이다.

1KB = 1024Byte이므로 단위가 한 단계(K→M→G→T→P→E→Z→Y) 오를 때마다 1024배가 된다. 따라서 1024PB = 1EB이고, YB는 EB보다 두 단계 위이므로 1 EB=1024−2 YB1\,\mathrm{EB} = 1024^{-2}\,\mathrm{YB}가 되어 지수가 맞지 않는다.

  • ZB 표기: EB보다 한 단계 위이므로 1024−1 ZB1024^{-1}\,\mathrm{ZB}로 같다.
  • TB 표기: P, E 두 단계 아래이므로 10242 TB1024^{2}\,\mathrm{TB}로 같다.
  • MB 표기: G, T, P, E 네 단계 아래이므로 10244 MB1024^{4}\,\mathrm{MB}로 같다.
문제 10
유비쿼터스 컴퓨팅 기술에 대한 설명으로 옳지 않은 것은?
1노매딕 컴퓨팅(nomadic computing)은 사용자가 모든 장소에서 사용자 인증 없이 다양한 정보기기로 동일한 데이터에 접근하는 기술이다.
2엑조틱 컴퓨팅(exotic computing)은 스스로 생각하여 현실세계와 가상세계를 연계하는 컴퓨팅을 실현해 주는 기술이다.
3감지 컴퓨팅(sentient computing)은 센서가 사용자의 상황을 인식하여 사용자가 필요한 정보를 제공해 주는 기술이다.
4임베디드 컴퓨팅(embedded computing)은 사물에 마이크로칩을 장착하여 서비스 기능을 내장하는 컴퓨팅 기술이다.
정답 및 해설

옳지 않은 설명은 노매딕 컴퓨팅을 사용자 인증 없이 접근하는 기술로 정의한 것이다.

노매딕 컴퓨팅의 핵심은 장소에 구애받지 않고 어디서나 네트워크에 접속해 같은 데이터를 쓰는 이동성이며, 인증 절차를 생략한다는 의미는 없다.

  • 엑조틱 컴퓨팅: 스스로 판단해 현실세계와 가상세계를 연계하는 컴퓨팅이라는 설명은 옳다.
  • 감지 컴퓨팅: 센서로 사용자 상황을 인식해 필요한 정보를 제공한다는 설명은 옳다.
  • 임베디드 컴퓨팅: 사물에 마이크로칩을 넣어 서비스 기능을 내장한다는 설명은 옳다.
문제 11
하나의 컴퓨터 시스템에서 여러 개의 어플리케이션(application)들이 함께 주기억장치에 적재되어 하나의 CPU 자원을 번갈아 사용하는 형태로 수행되게 하는 기법으로 옳은 것은?
1다중프로그래밍(multi-programming)
2다중프로세싱(multi-processing)
3병렬처리(parallel processing)
4분산처리(distributed processing)
정답 및 해설

여러 프로그램을 주기억장치에 함께 적재하고 하나의 CPU를 번갈아 쓰게 하는 기법은 다중프로그래밍이다.

한 프로그램이 입출력을 기다리는 동안 다른 프로그램에 CPU를 넘겨 CPU 유휴 시간을 줄이는 것이 목적이다.

  • 다중프로세싱: 여러 개의 CPU(프로세서)로 동시에 처리하는 방식이다.
  • 병렬처리: 하나의 작업을 나누어 여러 처리기가 동시에 수행하는 방식이다.
  • 분산처리: 네트워크로 연결된 여러 컴퓨터가 작업을 나누어 처리하는 방식이다.
문제 12
주기억장치와 CPU 캐시 기억장치만으로 구성된 시스템에서 다음과 같이 기억장치 접근 시간이 주어질 때 이 시스템의 캐시 적중률(hit ratio)로 옳은 것은?
  • 주기억장치 접근 시간: TmT_m=80ns
  • CPU 캐시 기억장치 접근 시간: TcT_c=10ns
  • 기억장치 평균 접근 시간(expected memory access time): TaT_a=17ns
180%
285%
390%
495%
정답 및 해설

캐시 적중률은 90%이다.

평균 접근 시간은 적중 시 캐시 접근 시간, 실패 시 주기억장치 접근 시간을 적중률로 가중 평균한 값이다.
Ta=h×Tc+(1−h)×TmT_a = h \times T_c + (1-h) \times T_m

17=10h+80(1−h)=80−70h17 = 10h + 80(1-h) = 80 - 70h
70h=63⇒h=0.970h = 63 \Rightarrow h = 0.9

  • 80%: 대입하면 평균 접근 시간이 24ns가 되어 주어진 17ns보다 길다.
  • 85%: 대입하면 평균 접근 시간이 20.5ns가 된다.
  • 95%: 대입하면 평균 접근 시간이 13.5ns가 되어 주어진 값보다 짧다.
문제 13
컴퓨터 시스템의 주기억장치 및 보조기억장치에 대한 설명으로 옳지 않은 것은?
1RAM은 휘발성(volatile) 기억장치이며 HDD 및 SSD는 비휘발성(non-volatile) 기억장치이다.
2RAM의 경우, HDD나 SSD 등의 보조기억장치에 비해 상대적으로 접근 속도가 빠르다.
3SSD에서는 일반적으로 특정 위치의 데이터를 읽는 데 소요되는 시간이 같은 위치에 데이터를 쓰는 데 소요되는 시간보다 더 오래 걸린다.
4SSD의 경우, 일반적으로 HDD보다 가볍고 접근 속도가 빠르며 전력 소모가 적다.
정답 및 해설

옳지 않은 설명은 SSD에서 읽기가 쓰기보다 오래 걸린다고 한 것이다.

플래시 메모리 기반 SSD는 쓰기 전에 블록 단위 소거가 필요해 일반적으로 쓰기가 읽기보다 느리다.

  • 휘발성 구분: RAM은 전원이 꺼지면 내용이 사라지는 휘발성, HDD·SSD는 비휘발성이므로 옳다.
  • 접근 속도 비교: RAM이 보조기억장치보다 접근 속도가 빠르므로 옳다.
  • SSD와 HDD 비교: SSD는 기계적 부품이 없어 가볍고 빠르며 전력 소모가 적으므로 옳다.
문제 14
다음 표에서 보인 4개의 프로세스들을 시간 할당량(time quantum)이 5인 라운드로빈(round-robin) 스케줄링 기법으로 실행시켰을 때 평균 반환 시간으로 옳은 것은?
프로세스도착 시간실행 시간
P1010
P2115
P336
P469

(단, 반환 시간이란 프로세스가 도착하는 시점부터 실행을 종료할 때까지 소요된 시간을 의미한다. 또한, 이들 4개의 프로세스들은 I/O 없이 CPU만을 사용한다고 가정하며, 문맥교환(context switching)에 소요되는 시간은 무시한다.)

124.0
229.0
329.75
430.25
정답 및 해설

평균 반환 시간은 29.0이다.

시간 할당량 5씩 도착 순서대로 돌리며, 할당량을 다 쓴 프로세스는 그 시점까지 도착한 프로세스 뒤의 준비 큐 맨 뒤로 간다.

실행 순서: P1(0~5) → P2(5~10) → P3(10~15) → P1(15~20, 종료) → P4(20~25) → P2(25~30) → P3(30~31, 종료) → P4(31~35, 종료) → P2(35~40, 종료)

반환 시간 = 종료 − 도착: P1 20, P2 39, P3 28, P4 29
평균 (20+39+28+29)÷4=116÷4=29.0(20+39+28+29) \div 4 = 116 \div 4 = 29.0

  • 24.0: 반환 시간 합이 96인 경우로, 실제 합 116보다 작다.
  • 29.75: 반환 시간 합이 119인 경우로, 준비 큐 순서를 잘못 추적하면 나오는 값이다.
  • 30.25: 반환 시간 합이 121인 경우로, 실제 합 116보다 크다.
문제 15
LRU(Least Recently Used) 교체 기법을 사용하는 요구 페이징(demand paging) 시스템에서 3개의 페이지 프레임(page frame)을 할당받은 프로세스가 다음과 같은 순서로 페이지에 접근했을 때 발생하는 페이지 부재(page fault) 횟수로 옳은 것은? (단, 할당된 페이지 프레임들은 초기에 모두 비어 있다고 가정한다.)

페이지 참조 순서(page reference string):
1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7

17번
210번
314번
415번
정답 및 해설

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

앞부분 1, 2, 3 반복 구간은 처음 세 번만 부재가 나고 이후 9회는 모두 적중한다(부재 3회).

뒷부분은 4, 5, 6, 7 네 페이지가 순환하는데 프레임은 3개뿐이다. LRU는 가장 오래전에 쓴 페이지를 내보내므로 바로 다음에 필요한 페이지가 늘 쫓겨나 12회 모두 부재가 난다(부재 12회). 합계 3+12=15이다.

  • 7회: 서로 다른 페이지 수(1~7)만 센 값으로, 순환 참조에서 반복되는 교체를 반영하지 않았다.
  • 10회: 뒷부분 순환 구간에서 적중이 있다고 본 값이지만, 4개 페이지를 3개 프레임에서 LRU로 순환하면 적중이 생기지 않는다.
  • 14회: 부재 한 번을 적중으로 잘못 센 값으로, 앞 구간 3회와 뒤 구간 12회를 더하면 15회이다.
문제 16
인터넷에서 사용하는 IPv6에 대한 설명으로 옳지 않은 것은?
1패킷 헤더의 체크섬(checksum)을 통해 데이터 무결성 검증 기능을 지원한다.
2QoS(Quality of Service) 보장을 위해 흐름 레이블링(flow labeling) 기능을 지원한다.
3IPv6의 주소 체계는 16비트씩 8개 부분, 총 128비트로 구성되어 있다.
4IPv6 주소 표현에서 연속된 0에 대한 생략을 위한 :: 표기는 1번만 가능하다.
정답 및 해설

옳지 않은 설명은 IPv6가 헤더 체크섬으로 무결성을 검증한다는 것이다.

IPv6는 라우터의 처리 부담을 줄이기 위해 IPv4에 있던 헤더 체크섬 필드를 제거했고, 오류 검출은 링크 계층과 상위 계층(TCP·UDP)에 맡긴다.

  • 흐름 레이블: QoS 보장을 위해 같은 흐름의 패킷을 식별하는 Flow Label 필드가 있으므로 옳다.
  • 주소 구성: 16비트씩 8개 필드, 총 128비트이므로 옳다.
  • :: 생략 표기: 연속된 0 필드 생략은 주소의 모호성을 막기 위해 한 번만 허용되므로 옳다.
문제 17
다음 정수를 왼쪽부터 순서대로 삽입하여 이진 탐색 트리(binary search tree)를 구성했을 때 단말 노드(leaf node)를 모두 나열한 것은?

44, 36, 62, 3, 16, 51, 75, 68, 49, 85, 57

116, 49, 51, 57, 85
216, 49, 57, 68, 85
349, 51, 57, 68, 85
449, 57, 68, 75, 85
정답 및 해설

단말 노드는 16, 49, 57, 68, 85이다.

이진 탐색 트리는 루트부터 비교해 작으면 왼쪽, 크면 오른쪽으로 내려가 빈 자리에 삽입한다.

루트 44의 왼쪽에 36, 36의 왼쪽에 3, 3의 오른쪽에 16이 붙는다. 오른쪽은 62 아래 왼쪽 51(자식 49·57), 오른쪽 75(자식 68·85)가 된다. 자식이 없는 노드는 16, 49, 57, 68, 85이다.

  • 16, 49, 51, 57, 85: 51은 49와 57을 자식으로 가지는 내부 노드이고, 단말 노드인 68이 빠졌다.
  • 49, 51, 57, 68, 85: 3의 오른쪽 자식인 16이 단말 노드인데 빠졌고, 내부 노드인 51이 들어갔다.
  • 49, 57, 68, 75, 85: 75는 68과 85를 자식으로 가지는 내부 노드이고, 단말 노드인 16이 빠졌다.
문제 18
다음 과정을 통해 수행되는 정렬 알고리즘의 특징으로 옳지 않은 것은?
초기값159814
1단계915814
2단계891514
3단계189154
4단계148915
1최악의 경우에 시간 복잡도는 O(n2)이다.
2원소 수가 적거나 거의 정렬된 경우에 효과적이다.
3선택정렬(selection sort)에 비해 비교연산 횟수가 같거나 적다.
4정렬 대상의 크기만큼 추가 공간이 필요하다.
정답 및 해설

옳지 않은 것은 정렬 대상의 크기만큼 추가 공간이 필요하다는 설명이다.

각 단계에서 앞쪽의 정렬된 부분에 다음 원소를 알맞은 위치로 끼워 넣고 있으므로 삽입 정렬이다. 삽입 정렬은 배열 안에서 원소를 옮기며 정렬하는 제자리 정렬이라 상수 크기의 추가 공간만 쓴다.

  • 최악의 경우 시간 복잡도: 역순으로 정렬된 입력이면 매번 앞 원소 전부와 비교·이동하므로 O(n2)O(n^2)이다.
  • 원소 수가 적거나 거의 정렬된 경우: 이미 정렬된 부분에서 비교가 곧 끝나 거의 O(n)O(n)에 가까워지므로 효과적이다.
  • 선택 정렬과의 비교 횟수: 선택 정렬은 항상 n(n−1)/2n(n-1)/2번 비교하지만 삽입 정렬은 그 이하이므로 같거나 적다.
문제 19
SET(Secure Electronic Transaction)에 대한 설명으로 옳지 않은 것은?
1프라이버시 보호를 위해 이중서명 프로토콜을 사용한다.
2카드 소지자는 전자 지갑 소프트웨어가 필요하다.
3인증기관(Certification Authority)이 필요하다.
4SSL(Secure Socket Layer)에 비해 고속으로 동작한다.
정답 및 해설

옳지 않은 설명은 SET이 SSL보다 고속으로 동작한다는 것이다.

SET은 이중서명과 다수의 인증서 검증 등 복잡한 암호 연산을 거치므로 SSL보다 느리고 구현이 복잡하다.

  • 이중서명: 주문 정보와 지불 정보를 분리해 상점과 은행이 각각 필요한 정보만 보게 하므로 옳다.
  • 전자 지갑: 카드 소지자는 전자 지갑 소프트웨어를 설치해야 하므로 옳다.
  • 인증기관: 참여자 인증서를 발급하는 인증기관이 필요하므로 옳다.
문제 20
「개인정보 보호법」의 개인정보 보호 원칙으로 옳은 것의 총 개수는?
  • ㄱ. 개인정보처리자는 개인정보의 처리 목적에 필요한 범위에서 개인정보의 정확성, 완전성 및 최신성이 보장되도록 하여야 한다.
  • ㄴ. 개인정보처리자는 개인정보의 처리 목적에 필요한 범위에서 적합하게 개인정보를 처리하여야 하며, 그 목적 외의 용도로 활용 하고자 하는 경우 개인정보 보호책임자의 동의를 받아야 한다.
  • ㄷ. 개인정보처리자는 개인정보 처리방법 등 개인정보의 처리에 관한 사항은 비공개하여야 하며, 열람청구권 등 정보주체의 권리를 보장하여야 한다.
  • ㄹ. 개인정보처리자는 개인정보를 가명 또는 익명으로 처리하여도 개인정보 수집목적을 달성할 수 있는 경우 가명처리가 가능한 경우에는 가명에 의하여, 가명처리로 목적을 달성할 수 없는 경우에는 익명에 의하여 처리될 수 있도록 하여야 한다.
11개
22개
33개
44개
정답 및 해설

개인정보 보호 원칙에 맞는 설명은 ㄱ뿐으로 총 1개이다.

「개인정보 보호법」 제3조는 처리 목적에 필요한 범위에서 개인정보의 정확성, 완전성 및 최신성이 보장되도록 하라고 규정하므로 ㄱ은 옳다.

  • ㄴ: 목적에 필요한 범위에서 적합하게 처리하고 목적 외의 용도로 활용하여서는 아니 된다는 것이 원칙이며, 보호책임자의 동의로 목적 외 활용을 허용하는 내용이 아니다.
  • ㄷ: 개인정보 처리방침 등 처리에 관한 사항은 공개하여야 한다.
  • ㄹ: 익명처리가 가능하면 익명에 의하여, 익명처리로 목적을 달성할 수 없으면 가명에 의하여 처리해야 하므로 순서가 뒤바뀌었다.