📝 기출문제 전체 보기
정보처리기사 실기 2024년 3회차 기출 복원입니다. 각 문제 아래의 「정답·해설 보기」를 펼치면 정답과 해설이 나타나요. 실전 시험 환경(타이머·자동 채점·오답 누적)에서 풀어보고 싶다면 글 맨 아래 「직접 풀러가기」를 눌러주세요.
문제 1
단답형다음은 Java 코드에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
정답·해설 보기▾
모범답안
OOAAA
키워드: OOAAA
해설
equals() 는 문자열의 값을 비교하므로 s[0]"A", s[1]"A", s[2] new String("A") 는 모두 값이 같다. i=1, i=2 에서 인접 원소가 같아 "O" 가 두 번 출력된다. 이후 향상된 for 문으로 "A", "A", "A" 가 출력되어 최종 결과는 OOAAA 이다.
문제 2
단답형다음은 파이썬에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
정답·해설 보기▾
모범답안
3
키워드: 3
해설
func 은 리스트를 양끝에서 교환하며 뒤집어 lst 는 [6,5,4,3,2,1] 이 된다. lst[::2] 는 인덱스 0,2,4 인 [6,4,2] 로 합 12, lst[1::2] 는 인덱스 1,3,5 인 [5,3,1] 로 합 9 이다. 따라서 12 - 9 = 3 이 출력된다.
문제 3
단답형아래의 employee테이블과 project테이블을 참고하여 보기의 SQL명령어에 알맞는 출력 값을 작성하시오.
[employee]
no first_name last_name project_id 1 John Doe 10 2 Jim Carry 20 3 Rachel Redmond 10 [project]
project_id name 10 Alpha 20 Beta 10 Gamma 정답·해설 보기▾
모범답안
1
키워드: 1
해설
가장 안쪽 서브쿼리는 employee 를 project_id 로 묶어 직원 수가 2 미만인 project_id 를 찾는다. project_id 10 은 2명, 20 은 1명이므로 결과는 20 이다. 그다음 project 에서 project_id 20 의 name 인 'Beta' 를 구한다. 바깥 쿼리는 employee 와 project 를 조인한 뒤 p.name 이 'Beta' 인 행의 수를 센다. employee no=2(project_id 20) 가 Beta 와 조인되어 1건만 해당하므로 count(*) 는 1 이다.
문제 4
단답형다음은 운영체제 페이지 순서를 참고하여 할당된 프레임의 수가 3개일 때 LRU 알고리즘의 페이지 부재 횟수를 작성하시오.
페이지 참조 순서 : 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
정답·해설 보기▾
모범답안
12
키워드: 12
해설
프레임 3개에 LRU(가장 오래 사용되지 않은 페이지를 교체)를 적용하여 참조열을 순서대로 처리하면, 빈 프레임 채움을 포함해 총 12회의 페이지 부재가 발생한다.
문제 5
단답형다음은 네트워크 취약점에 대한 문제이다. 아래 내용을 보고 알맞는 용어를 작성하시오.
- IP나 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크의 일부를 불능 상태로 만드는 공격이다.
- 여러 호스트가 특정 대상에게 다량의 ICMP Echo Reply 를 보내게 하여 서비스거부(DoS)를 유발시키는 보안공격이다.
- 공격 대상 호스트는 다량으로 유입되는 패킷으로 인해 서비스 불능 상태에 빠진다.
정답·해설 보기▾
모범답안
스머프(Smurf) 또는 스머핑(Smurfing)
키워드: 스머프, Smurf, 스머핑, Smurfing
해설
출발지 IP 를 공격 대상으로 위조한 ICMP Echo Request 를 브로드캐스트로 보내, 다수 호스트가 대상에게 ICMP Echo Reply 를 쏟아붓게 만들어 서비스 거부를 유발하는 공격은 스머프(Smurf) 공격이다.
문제 6
단답형다음은 GoF 디자인 패턴과 관련된 문제이다. 괄호안에 알맞는 용어를 작성하시오.
( ) 패턴은 클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의하는 패턴이다. ( ) 패턴은 객체들 간의 통신 방법을 정의하고 알고리즘을 캡슐화하여 객체 간의 결합도를 낮춘다. ( ) 패턴은 Chain of Responsibility나 Command 또는 Observer 패턴이 있다.
정답·해설 보기▾
모범답안
행위
키워드: 행위, 행위 패턴, Behavioral
해설
GoF 패턴은 생성, 구조, 행위 세 분류로 나뉜다. 객체 간 상호작용과 책임 분배, 알고리즘 캡슐화를 다루며 Chain of Responsibility, Command, Observer 등을 포함하는 분류는 행위(Behavioral) 패턴이다.
문제 7
단답형다음은 C언어에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
정답·해설 보기▾
모범답안
20
키워드: 20
해설
func 의 x 는 static 이라 호출 사이에 값이 유지되며 호출마다 2씩 증가한다. 4번 호출되어 반환값은 2, 4, 6, 8 이고 main 의 지역 x 증가는 sum 과 무관하다. 따라서 sum = 2+4+6+8 = 20 이 출력된다.
문제 8
단답형다음은 무결성 제약조건에 대한 문제이다. 아래 표에서 StudentID가 기본키일 때 어떠한 ( ) 무결성을 위반하였는지 작성하시오.
StudentID Name Age Major 101 Alice 20 Computer Science 102 Bob 21 Mathematics 101 David 23 Chemistry NULL Eve 22 Biology 정답·해설 보기▾
모범답안
개체
키워드: 개체, 개체 무결성, Entity Integrity
해설
StudentID가 기본키라면 NULL 값을 가질 수 없고 중복될 수도 없다. 표에서 StudentID가 101로 중복되고 NULL 값이 존재하므로, 기본키가 유일하고 NULL이 아니어야 한다는 개체 무결성을 위반한 것이다.
문제 9
단답형다음은 URL 구조에 관한 문제이다 . 아래 보기의 순서대로 URL에 해당하는 번호를 작성하시오.
URL : foo://localhost:8080/over/there?name=ferret#nose (1) foo (2) localhost:8080 (3) /over/there (4) name=ferret (5) nose
보기 query : 서버에 전달할 추가 데이터 path : 서버 내의 특정 자원을 가리키는 경로 scheme : 리소스에 접근하는 방법이나 프로토콜 authority : 사용자 정보, 호스트명, 포트 번호 fragment : 특정 문서 내의 위치
정답·해설 보기▾
모범답안
43125
키워드: 43125, 4 3 1 2 5, query=4, path=3, scheme=1, authority=2, fragment=5, query 4 path 3 scheme 1 authority 2 fragment 5
해설
URL 구성요소를 (1)~(5) 위치에 대응시키면 (1)foo=scheme, (2)localhost:8080=authority, (3)/over/there=path, (4)name=ferret=query, (5)nose=fragment 이다. 보기는 query, path, scheme, authority, fragment 순서이므로 각 보기가 가리키는 번호는 query=4, path=3, scheme=1, authority=2, fragment=5 가 되어 43125 이다.
문제 10
단답형다음은 파이썬에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
정답·해설 보기▾
모범답안
45
키워드: 45
해설
a='100.0' 은 문자열(str)이라 len('100.0')=5 를 반환한다. b=100.0 은 float 이라 int 도 str 도 아니므로 else 의 20, c=(100,200) 은 튜플이라 else 의 20 을 반환한다. 따라서 5 + 20 + 20 = 45 가 출력된다.
문제 11
단답형다음은 Java 코드에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
정답·해설 보기▾
모범답안
52
키워드: 52
해설
메서드는 동적 바인딩되어 a.getX() 와 b.getX() 모두 Derivate.getX() 인 7*3=21 을 반환한다. 반면 필드는 정적 바인딩(참조 타입 기준)이라 a.x 는 Base 의 x=3, b.x 는 Derivate 의 x=7 이다. 따라서 21 + 3 + 21 + 7 = 52 가 출력된다.
문제 12
단답형다음은 C언어에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
정답·해설 보기▾
모범답안
312
키워드: 312
해설
리스트 연결 순서는 n1(1) -> n3(3) -> n2(2) 이다. func 은 두 노드씩 값을 교환한다. 첫 반복에서 n1 과 n3 의 값이 교환되어 n1=3, n3=1 이 되고 node 는 n2 로 이동한다. n2->next 가 NULL 이라 반복이 끝난다. 최종 값 순서는 3, 1, 2 이므로 312 가 출력된다.
문제 13
단답형다음은 테스트 커버리지에 대한 문제이다. 아래 내용에 알맞는 답을 보기에서 골라 작성하시오.
- 테스트를 통해 프로그램의 모든 문장을 최소한 한 번씩 실행했는지를 측정
- 프로그램 내의 모든 분기(조건문)의 각 분기를 최소한 한 번씩 실행했는지를 측정
- 복합 조건 내의 각 개별 조건이 참과 거짓으로 평가되는 경우를 모두 테스트했는지를 측정
보기 ㄱ. 조건 ㄴ. 경로 ㄷ. 결정 ㄹ. 분기 ㅁ.함수 ㅂ. 문장 ㅅ. 루프
정답·해설 보기▾
모범답안
1. ㅂ. 문장 2. ㄹ. 분기 3. ㄱ. 조건
키워드: 문장, 분기, 조건, 1. 문장 2. 분기 3. 조건, ㅂ ㄹ ㄱ, ㅂㄹㄱ, 1. ㅂ 2. ㄹ 3. ㄱ, 1. ㅂ. 문장 2. ㄹ. 분기 3. ㄱ. 조건
해설
모든 문장을 한 번씩 실행했는지는 문장(구문) 커버리지, 모든 분기를 한 번씩 실행했는지는 분기(결정) 커버리지, 복합 조건의 각 개별 조건의 참/거짓을 모두 검증하는 것은 조건 커버리지이다. 따라서 1=ㅂ. 문장, 2=ㄹ. 분기, 3=ㄱ. 조건이다.
문제 14
단답형아래는 UML클래스의 관계에 관한 문제이다. 보기를 보고 알맞는 관계를 선택하여 작성하시오.
보기 ㄱ. 의존 ㄴ. 연관 ㄷ. 일반화
정답·해설 보기▾
모범답안
(1) 연관 (2) 일반화 (3) 의존
키워드: 연관, 일반화, 의존, (1) 연관 (2) 일반화 (3) 의존, ㄴ ㄷ ㄱ
해설
(1) 차와 타이어/바퀴/엔진을 실선으로 연결한 것은 객체 간 구조적 관계를 나타내는 연관(Association) 관계이다. (2) 버스/택시/승용차가 속이 빈 삼각형 화살표로 차를 가리키는 것은 상속을 나타내는 일반화(Generalization) 관계이다. (3) 텔레비전이 점선 화살표로 리모콘을 가리키는 것은 의존(Dependency) 관계이다.
문제 15
단답형다음은 데이터베이스에 관한 문제이다. 아래 내용을 읽고 알맞는 답을 보기에서 찾아 골라 작성하시오.
(1) 다른 테이블, 릴레이션의 기본 키를 참조하는 속성 또는 속성들의 집합 (2) 테이블에서 각 행을 유일하게 식별할 수 있는 최소한의 속성들의 집합 (3) 후보 키 중에서 선정된 기본 키를 제외한 나머지 후보 키 (4) 테이블에서 각 행을 유일하게 식별할 수 있는 속성들의 집합
ㄱ. 슈퍼키 ㄴ. 외래키 ㄷ. 대체키 ㄹ. 후보키
정답·해설 보기▾
모범답안
(1) ㄴ. 외래키 (2) ㄹ. 후보키 (3) ㄷ. 대체키 (4) ㄱ. 슈퍼키
키워드: 외래키, 후보키, 대체키, 슈퍼키, (1) 외래키 (2) 후보키 (3) 대체키 (4) 슈퍼키, ㄴ ㄹ ㄷ ㄱ, ㄴㄹㄷㄱ, (1) ㄴ (2) ㄹ (3) ㄷ (4) ㄱ, (1) ㄴ. 외래키 (2) ㄹ. 후보키 (3) ㄷ. 대체키 (4) ㄱ. 슈퍼키
해설
다른 릴레이션의 기본키를 참조하는 키는 ㄴ. 외래키, 행을 유일하게 식별하는 최소한의 속성 집합은 ㄹ. 후보키, 후보키 중 기본키를 제외한 나머지는 ㄷ. 대체키, 행을 유일하게 식별하나 최소성을 만족하지 않아도 되는 속성 집합은 ㄱ. 슈퍼키이다.
문제 16
단답형다음은 C언어에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
정답·해설 보기▾
모범답안
1
키워드: 1
해설
func 은 각 원소를 (arr[i] + i) % 5 로 바꾼다. arr[2]=4 에 대해 (4 + 2) % 5 = 6 % 5 = 1 이 된다. 이후 num = arr[2] = 1 이므로 1 이 출력된다.
문제 17
단답형다음 아래 내용을 보고 알맞는 용어를 작성하시오. (3글자로 작성)
- 공용 네트워크를 통해 사설 네트워크를 확장하는 기술이다.
- 사용자의 IP 주소를 숨기고, 사용자가 어디에서 접속하는지를 추적하기 어렵게 만든다.
- 종류로는 IPsec 또는 SSL, L2TP 등이 있다.
정답·해설 보기▾
모범답안
VPN
키워드: VPN, Virtual Private Network, 가상 사설망
해설
공용 네트워크 위에 암호화된 터널을 만들어 사설 네트워크처럼 안전하게 확장하며 IPsec, SSL, L2TP 등을 사용하는 기술은 VPN(Virtual Private Network, 가상 사설망)이다.
문제 18
단답형다음은 Java 코드에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
정답·해설 보기▾
모범답안
101
키워드: 101
해설
func 이 NullPointerException 을 던지면 가장 먼저 일치하는 NullPointerException catch 블록이 실행되어 sum = 0 + 1 = 1 이 된다. 일반 Exception catch 는 실행되지 않는다. finally 는 항상 실행되어 sum = 1 + 100 = 101 이 되어 101 이 출력된다.
문제 19
단답형다음은 Java 코드에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
정답·해설 보기▾
모범답안
B0
키워드: B0
해설
오버로딩 메서드 선택은 컴파일 시점의 정적 타입으로 결정된다. value 의 타입은 제네릭 타입 변수 T 로 컴파일러가 인식하는 상한이 Object 이므로, 실제 값이 Integer(0)여도 print(Object a) 가 선택된다. 따라서 "B" + 0 인 B0 이 출력된다.
문제 20
단답형다음은 네트워크에 대한 문제이다. 아래 내용을 보고 알맞는 용어를 작성하시오.
- 중앙 관리나 고정된 인프라 없이 임시로 구성되는 네트워크이다.
- 일반적으로 무선 통신을 통해 노드들이 직접 연결되어 데이터를 주고받는다.
- 긴급 구조, 긴급 회의, 군사적인 상황 등에서 유용하게 활용될 수 있다.
ㄱ.Infrastructure Network ㄴ. Firmware Network ㄷ. Peer-to-Peer Network ㄹ. Ad-hoc Network ㅁ. Mesh Network ㅂ.Sensor Network ㅅ.Virtual Private Network
정답·해설 보기▾
모범답안
ㄹ. (Ad-hoc Network)
키워드: ㄹ, Ad-hoc Network, 애드혹, 애드혹 네트워크
해설
고정된 인프라나 중앙 관리 없이 무선 노드들이 임시로 직접 연결되어 통신하며 긴급 구조나 군사 상황 등에 활용되는 네트워크는 애드혹 네트워크(Ad-hoc Network)이다.