📝 기출문제 전체 보기
정보처리기사 실기 2024년 2회차 기출 복원입니다. 각 문제 아래의 「정답·해설 보기」를 펼치면 정답과 해설이 나타나요. 실전 시험 환경(타이머·자동 채점·오답 누적)에서 풀어보고 싶다면 글 맨 아래 「직접 풀러가기」를 눌러주세요.
문제 1
단답형다음은 Java 코드에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
정답·해설 보기▾
모범답안
NNN
키워드: NNN
해설
배열은 객체이므로 == 연산자는 값이 아닌 참조(주소)를 비교한다. a, b, c 는 각각 별도로 new 로 생성된 서로 다른 배열 객체이므로, 내용이 같더라도 참조가 모두 다르다. 세 번의 check 호출 모두 a==b 가 거짓이라 'N' 이 출력되어 "NNN" 이 된다.
문제 2
단답형다음 문제에서 설명하는 용어를 작성하시오.
데이터를 중복시켜 성능을 향상시키기 위한 기법으로 데이터를 중복 저장하거나 테이블을 합치는 등으로 성능을 향상시키지만 데이터 무결성이 저하될 수 있는 기법
정답·해설 보기▾
모범답안
반정규화
키워드: 반정규화, 역정규화, Denormalization
해설
정규화로 분해된 테이블을 의도적으로 다시 통합하거나 데이터를 중복 저장하여 조회 성능을 높이는 기법은 반정규화(Denormalization)이다. 조회 성능은 향상되지만 데이터 중복으로 무결성이 저하될 수 있다.
문제 3
단답형다음은 SQL에 관한 문제이다. 아래 SQL 구문의 빈칸을 작성하시오.
[테이블] 사원 [사원번호(PK), 이름, 주소, 부서] 부서 [사원번호(PK), 이름, 주소, 나이]
신입 사원이 들어와서 사원 테이블에 추가
위의 신입 사원을 검색하여 부서 테이블에 추가
전체 사원 테이블 조회
퇴사로 인해 부서에 해당하는 값을 '퇴사'로 변경
정답·해설 보기▾
모범답안
① : VALUES ② : SELECT ③ : FROM ④ : SET
키워드: VALUES, SELECT, FROM, SET, ① VALUES ② SELECT ③ FROM ④ SET
해설
① 값을 직접 지정해 한 행을 삽입하므로 VALUES 절이다. ② 다른 테이블에서 조회한 결과를 삽입하는 INSERT ... SELECT 구문이므로 SELECT 이다. ③ 조회 대상 테이블을 지정하는 FROM 절이다. ④ UPDATE 문에서 변경할 컬럼 값을 지정하는 SET 절이다.
문제 4
단답형다음 릴레이션의 Cardinality와 Degree를 작성하시오.
이름 나이 A B 김ㅇㅇ 23 1 5 박ㅇㅇ 25 2 3 고ㅇㅇ 42 3 8 최ㅇㅇ 20 2 9 이ㅇㅇ 25 1 5 Cardinality : ( ① ) Degree : ( ② )
정답·해설 보기▾
모범답안
① : 5 ② : 4
키워드: 5, 4, Cardinality 5, Degree 4
해설
Cardinality 는 릴레이션의 튜플(행) 수로, 표의 행이 5개이므로 5 이다. Degree 는 릴레이션의 속성(열) 수로, 이름·나이·A·B 의 4개 열이 있으므로 4 이다.
문제 5
단답형다음은 프로토콜에 대한 내용이다. 아래 내용을 읽고 알맞는 답을 작성하시오.
- Network layer에서 IP패킷을 암호화하고 인증하는 등의 보안을 위한 표준이다.
- 기업에서 사설 인터넷망으로 사용할 수 있는 VPN을 구현하는데 사용되는 프로토콜이다.
- AH(Authentication Header)와 ESP(Encapsulating Security Payload)라는 두 가지 보안 프로토콜을 사용한다.
정답·해설 보기▾
모범답안
IPSec
키워드: IPSec, IPSEC, IP Security
해설
네트워크 계층에서 IP 패킷을 암호화·인증하고 VPN 구현에 사용되며 AH 와 ESP 두 보안 프로토콜을 쓰는 보안 표준은 IPSec(IP Security)이다.
문제 6
단답형다음은 Python에 대한 문제이다. 아래 코드를 읽고 알맞는 출력 값을 작성하시오.
정답·해설 보기▾
모범답안
ab3ca3
키워드: ab3ca3
해설
fnCalculation 은 문자열 x 안에서 y 가 등장하는 횟수를 센다. a="abdcabcabca" 에서 "ab" 는 인덱스 0, 4, 7 에서 3번 나타나고, "ca" 는 인덱스 3, 6, 9 에서 3번 나타난다. f-string 으로 "ab"+3+"ca"+3 이 조합되어 "ab3ca3" 이 출력된다.
문제 7
단답형아래 설명하는 내용을 확인하여 알맞는 알고리즘을 작성하시오.
- DES를 대체하기 위해 NIST의 차세대 암호 표준 공모를 통해 선정된 대칭키 알고리즘이다.
- 128비트, 192비트 또는 256비트의 가변 키 크기와 128비트의 고정 블록 크기를 사용한다.
- 높은 안전성과 효율성, 속도 등으로 인해 DES 대신 전 세계적으로 많이 사용되고 있다.
정답·해설 보기▾
모범답안
AES
키워드: AES, Advanced Encryption Standard
해설
DES 를 대체하기 위해 NIST의 차세대 암호 표준으로 선정된 대칭키 블록 암호로, 128/192/256비트 가변 키와 128비트 고정 블록을 사용하는 알고리즘은 AES(Advanced Encryption Standard)이다.
문제 8
단답형패킷 교환 방식 중에 연결형과 비연결형에 해당하는 방식을 작성하시오.
정답·해설 보기▾
모범답안
① 가상회선 ② 데이터그램
키워드: 가상회선, Virtual Circuit, 데이터그램, Datagram
해설
패킷 교환 방식 중 연결형은 사전에 논리적 경로(회선)를 설정하고 모든 패킷이 같은 경로로 순서대로 전달되는 가상회선(Virtual Circuit) 방식이고, 비연결형은 각 패킷이 독립적으로 경로를 선택해 전달되는 데이터그램(Datagram) 방식이다.
문제 9
단답형아래 내용을 확인하고 보기에서 알맞는 답을 고르시오.
실행 순서가 밀접한 관계를 갖는 기능을 모아 모듈로 구성한다. 한 모듈 내부의 한 기능 요소에 의한 출력 자료가 다음 기능 원소의 입력 자료로서 제공되는 형태이다.
[보기] ㄱ. 기능적(functional) ㄴ. 우연적(Coincidental) ㄷ. 통신적(Communication) ㄹ. 절차적(Procedural) ㅁ. 시간적(Temporal) ㅂ. 순차적(sequential) ㅅ. 논리적(Logical)
정답·해설 보기▾
모범답안
ㅂ (순차적)
키워드: ㅂ, 순차적, sequential
해설
한 기능 요소의 출력 자료가 다음 기능 요소의 입력 자료로 연결되는 형태의 응집도는 순차적(sequential) 응집도이다. 단순히 실행 순서만 관계되면 절차적이지만, 출력이 다음 입력으로 자료 흐름이 이어지면 순차적 응집도로 더 강하다.
문제 10
단답형아래는 디자인 패턴에 관한 설명이다. 아래 설명을 읽고 보기에서 알맞는 용어를 작성하시오.
- 컬렉션 객체의 내부 구조를 노출하지 않고 순차적으로 접근할 수 있게 하는 패턴이다.
- 이 패턴은 객체의 내부 표현 방식에 독립적으로 요소에 접근할 수 있도록 해준다.
- 반복 프로세스를 캡슐화하여 클라이언트 코드에서는 컬렉션의 구체적인 구현에 종속되지 않도록 한다.
[보기]
생성패턴 구조패턴 행위패턴 Singleton Adapter Iterator Factory Method Bridge Visitor Abstract Factory Composite Observer 정답·해설 보기▾
모범답안
Iterator
키워드: Iterator, 반복자, 반복자 패턴
해설
컬렉션의 내부 구조를 노출하지 않고 요소에 순차적으로 접근하도록 반복 과정을 캡슐화하는 패턴은 반복자(Iterator) 패턴이며, GoF 분류상 행위(Behavioral) 패턴에 속한다.
문제 11
단답형아래 그림을 바탕으로 A에서 F까지의 간선 비용 기준 최단 경로를 작성하시오.
[간선 비용] A-B:2, B-D:2, A-D:1, D-C:2, C-E:1, C-F:5, E-F:2
A →
정답·해설 보기▾
모범답안
A → D → C → E → F
키워드: A → D → C → E → F, A D C E F, ADCEF, 비용 6
해설
A 에서 F 까지의 주요 경로 비용을 비교하면 A-D-C-F 는 1+2+5=8 이고, A-D-C-E-F 는 1+2+1+2=6 이다. 따라서 간선 비용 기준 최단 경로는 A → D → C → E → F 이며 총 비용은 6 이다.
문제 12
단답형아래의 표를 확인하여 SRT 스케줄링의 평균 대기시간을 계산하여 작성하시오.
프로세스 도착 시간 서비스 시간 A 0 8 B 1 4 C 2 9 D 3 5 정답·해설 보기▾
모범답안
6.5
키워드: 6.5
해설
SRT(최단 잔여 시간 우선) 선점 스케줄링으로 실행하면 0~1 A, 1~5 B(완료), 5~10 D(완료), 10~17 A(완료), 17~26 C(완료) 순으로 처리된다. 각 프로세스 대기시간은 A=9, B=0, C=15, D=2 이며 평균은 (9+0+15+2)/4 = 26/4 = 6.5 이다.
문제 13
단답형다음은 C언어에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
정답·해설 보기▾
모범답안
21
키워드: 21
해설
arr 은 {{1,2,3},{4,5,6},{7,8,9}} 이고 parr[0]=arr[1], parr[1]=arr[2] 이다. parr[1][1]=arr[2][1]=8, *(parr[1]+2)=arr[2][2]=9, **parr=parr[0][0]=arr[1][0]=4 이므로 8+9+4 = 21 이 출력된다.
문제 14
단답형다음은 Java 언어에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
정답·해설 보기▾
모범답안
25, 20
키워드: 25, 20
해설
sum(a, true) 는 홀수만 더하므로 1+3+5+7+9 = 25, sum(a, false) 는 짝수만 더하므로 2+4+6+8 = 20 이다. 따라서 "25, 20" 이 출력된다.
문제 15
단답형다음은 C언어에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
정답·해설 보기▾
모범답안
10
키워드: 10
해설
sumFn 은 str1("first")을 str2 에 복사하고 끝에 '\0' 을 붙여 str2 는 "first"(길이 5)가 된다. 이후 i 가 0~4 동안 result 에 인덱스를 누적하므로 0+1+2+3+4 = 10 이 출력된다.
문제 16
단답형아래는 소프트웨어 설계에 대한 내용이다. 내용을 읽고 괄호안에 알맞는 답을 작성하시오.
- 어떤 모듈이 다른 모듈 내부의 논리적인 흐름을 제어하기 위해, 제어를 통신하거나 제어 요소를 전달하는 결합도이다.
- 한 모듈이 다른 모듈의 상세한 처리 절차를 알고 있어 이를 통제하는 경우나 처리 기능이 두 모듈에 분리되어 설계된 경우에 발생한다.
( ) Coupling
정답·해설 보기▾
모범답안
제어 (Control)
키워드: 제어, Control, 제어 결합도, Control Coupling
해설
다른 모듈의 내부 논리 흐름을 제어하기 위해 제어 신호(플래그 등)를 전달하는 결합도는 제어 결합도(Control Coupling)이다.
문제 17
단답형다음은 Java에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력 값을 작성하시오.
정답·해설 보기▾
모범답안
dcba
키워드: dcba
해설
재귀가 index 0 까지 내려간 뒤 되돌아오며(앞→뒤 순서로) 처음 만나는 문자만 결과 앞에 붙인다. 'abacabcd' 를 앞에서부터 처음 등장하는 문자만 남기면 a, b, c, d 이고, 각 문자는 result 앞에 붙으므로 최종 문자열은 역순인 "dcba" 가 된다.
문제 18
단답형다음은 C언어에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력 값을 작성하시오.
정답·해설 보기▾
모범답안
-13
키워드: -13
해설
swap 은 값 전달(call by value)이라 main 의 a, b 는 바뀌지 않아 a=11, b=19 그대로다. switch(a=11) 은 case 11 로 진입해 b+=2(21), break 가 없어 default 로 흘러 b+=3(24)이 된다. 따라서 a-b = 11-24 = -13 이 출력된다.
문제 19
단답형다음은 C언어의 구조체에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력 값을 작성하시오.
정답·해설 보기▾
모범답안
20
키워드: 20
해설
head 는 a 를 가리키고 a.n2 는 b 를 가리킨다. head->n2 는 b 의 주소이고 head->n2->n1 은 b.n1 = 20 이므로 20 이 출력된다.
문제 20
단답형다음은 Java에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력 값을 작성하시오.
정답·해설 보기▾
모범답안
S
키워드: S
해설
"ITISTESTSTRING" 을 "T" 로 분리하면 result = ["I", "IS", "ES", "S", "RING"] 이 된다(I|T|IS|T|ES|T|S|T|RING). 따라서 result[3] 은 "S" 이다.