[정보처리기사 실기] 2022년 2회 기출문제 풀이
1. 다음은 관계 데이터 모델에 대한 설명이다. 괄호안에 들어가는 용어를 작성하시오.
( 괄호 )은/는 관계 데이터의 연산을 표현하는 방법으로, 원하는 정보를 정의할 때는 계산 수식을 사용한다.
수학의 predicate calculus에 기반을 두고 있으며, 관계 데이터 모델의 제안자인 codd가 수학에 가까운 기반을 두고 특별히 관계 데이터베이스를 위해 제안하여 탄생하였다.
( 괄호 )은/는 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지니며, 튜블( 괄호 )와/과 도메인 ( 괄호 )이/가 있다.
정답: 관계해석
대절해비
관계대수 : 절차적언어, 원하는 것 + 얻는 방법
관계해석 : 비절차적언어, 원하는 것만, 수학적
2. 다음은 대칭 키 알고리즘에 대한 설명이다. 해당 설명에 맞는 용어를 보기에 골라 작성하시오.
1. Xuejia Lai와 James Messey 가 만든 알고리즘으로 PES(Proposed Encryption Standard)에서 IPES(Improved PES)로 변경되었다가, 1991년에 제작된 블록 암호 알고리즘으로 현재 국제 데이터 암호화 알고리즘으로 사용되고 있다. 64비트 블록을 128비트의 key를 이용하여 8개의 라운드로 구성되어 있다.
2. 미국의 NSA에서 개발한 Clipper 칩에 내장되는 블록 알고리즘이다. 전화기와 같은 음성을 암호화 하는데 주로 사용되며 64비트 입출력에 80비트의 키 총 32라운드를 가진다.
정답: 1.IDEA 2.SKIPJACK
IDEA: PES(Proposed Encryption Standard)에서 IPES(Improved PES)로 변경
SKIPJACK: 미국의 NSA에서 개발

3. H회사의 전체 제품 단가의 합 보다 단가가 큰 제품 출력을 하고자 한다. 괄호안에 들어갈 알맞는 용어를 작성하시오.
[제품테이블]
제조사 제품명 단가
A 과자 1,000
B 초콜릿 6,000
H 사탕 2,000
C 아이스크림 5,000
H 사탕 3,000
SELECT 제조사, 제품명, 단가
FROM 제품
WHERE ( 괄호 )
답: 단가 > (SELECT SUM(단가) FROM 제품 WHERE 제조사='H')
SELECT 제조사, 제품명, 단가
FROM 제품
WHERE ( 괄호 )
4. 다음 SQL 결과에 알맞는 답을 작성하시오.
[TABLE]
SELECT count(col2)
FROM TABLE
WHERE col1 in(2,3) or col2 in(3,5);
답: 4
SELECT count(col2)
FROM TABLE
WHERE col1 in(2,3) or col2 in(3,5);
*WHERE 절의 조합(AND / OR / NOT / IN)
여러 값을 OR 관계로 묶어 나열하는 조건을 WHERE 절에 사용할 때 쓸 수 있는 키워드
IN 연산자는 조건의 범위를 지정하는 데 사용된다. 값은 콤마( , )로 구분하여 괄호 내에 묶으며, 이 값 중에서 하나 이상과 일치하면 조건에 맞는 것으로 평가된다.
count
COUNT(컬럼명)을 사용하면 NULL 값은 제외하고 COUNT 합니다.
COUNT(*)를 사용하면 NULL도 포함하여 전부 COUNT 합니다.
5. 다음은 네트워크에 관련한 내용이다. 괄호안에 들어갈 알맞는 답을 작성하시오.
( 괄호 )은/는 인터넷을 통해 디바이스 간에 사설 네트워크 연결을 생성하며, 퍼블릭 네트워크를 통해 데이터를 안전하게 익명으로 전송하는 데 사용된다.
또한 사용자 IP 주소를 마스킹하고 데이터를 암호화하여 수신 권한이 없는 사람이 읽을 수 없도록 한다.
정답: 가상사설망(VPN)
6. 다음은 SOLID 원칙에 관한 내용이다. 괄호안에 알맞는 단어를 보기에서 고르시오
( 괄호 )은/는 클라이언트가 자신이 이용하지 않는 메서드에 의존하지 않아야 한다는 원칙이다.
( 괄호 )은/는 큰 덩어리의 인터페이스들을 구체적이고 작은 단위들로 분리시킴으로써 클라이언트들이 꼭 필요한 메서드들만 이용할 수 있게 한다.
예를 들어 하나의 복합기에 프린터와 복사기, 팩스 메서드가 있는데 이 세가지 메서드는 같은 파일에 존재하므로 프린터 로직만 바뀌어도 복사기와 팩스도 재컴파일을 해야한다.
그러므로 ( 괄호 )을/를 적용하여 로직이 바뀌어도 다른 메서드는 영향을 받지 않도록 해야한다.
(참고) SOLID: SRP, OCP, LSP, ISP, DIP
정답: ISP (Interface segregation principle)

7. 다음 자바 코드에 알맞는 출력값을 작성하시오.
public static void main(String args[]){
int i = 3; int k = 1;
switch(i) {
case 1: k += 1;
case 2: k++;
case 3: k = 0;
case 4: k += 3;
case 5: k -= 10;
default: k--;
}
System.out.print(k);
}
정답: -8
break 문이 없습니다
case 3번째 부터 전부 실행됨
8. 다음 소스코드에 대한 출력값을 작성하시오.
struct A{
int n,
int g
}
int main(){
A a = new A[2]
for(i=0; i <2; i++) {
a[i].n = i,
a[i].g=i+1
}
System.out.printf(a[0].n + a[1].g);
}
정답: 2
i=0
a[0].n = 0
a[0].g = 0+1=1
i=1
a[1].n = 1
a[1].g= 1+1 = 2
0+2 = 2
9. IP 주소가 139.127.19.132이고 서브넷마스크 255.255.255.192일 때 아래의 답을 작성하시오.
(1) 괄호안에 들어갈 네트워크 주소 : 139.127.19.( )
(2) 해당 네트워크 주소와 브로드캐스트 주소를 제외한 호스트 개수
정답: (1) 128 (2) 62
(128+64+32+16+8+4+2+1) = 255
< 1. 네트워크주소 구하기 >
문제에서 IP주소 139.127.19.132 ->
10001011.01111111.00010011.100000100
서브넷마스크 255.255.255.192 ->
11111111.11111111.11111111.11000000
네트워크 주소 = IP주소 + 서브넷 마스크의 AND연산으로 결정된다.
10001011.01111111.00010011.100000000
139.127.19.128 (1번 정답)
< 2. 호스트 개수 구하기 >
139.127.19.132의 IP범위를 구해야 하는데 64개씩 끊어주면 됨
방법1
/26 ip 개수 = 2^(32-26) = 64
139.127.19.0~63(64개)
139.127.19.64~127(64개)
139.127.19.128~191(64개) ←----해당 IP가 속한 범위, 따라서
네트워크 주소는 첫 주소 139.127.19.128
브로드캐스트 주소는 마지막 주소 139.127.19.191
방법2
11000000으로 n은 6
2^n - 2 네트워크 주소, 브로드캐스트 주소 2개 를 빼면 사용 가능한 호스트= 62개 2
10. 다음 설명에 대한 괄호안에 알맞는 단어를 작성하시오.
1. ( 괄호 ) 테스트는 하드웨어나 소프트웨어의 개발 단계에서 상용화하기 전에 실시하는 제품 검사 작업. 제품의 결함 여부, 제품으로서의 가치 등을 평가하기 위해 실시한다. 선발된 잠재 고객으로 하여금 일정 기간 무료로 사용하게 한 후에 나타난 여러 가지 오류를 수정, 보완한다. 공식적인 제품으로 발매하기 이전에 최종적으로 실시하는 검사 작업이다.
2. ( 괄호 ) 테스트는 새로운 제품 개발 과정에서 이루어지는 첫 번째 테스트. 즉, 시제품이 운영되는 동안의 신제품 연구와 개발 과정 단계에서 초기 작동의 결과를 평가하는 수단이며 개발 회사 내부에서 이루어지는 테스트로서 단위 테스트, 구성 테스트, 시스템 테스트 등을 포함한다.
정답:
베타
알파
베타(고객의 관점)
알파(개발자의 관점)
11. 다음 설명에 알맞는 테스트 용어를 보기에서 골라 작성하시오.오.
오류를 제거하거나 수정한 시스템이나 시스템 컴포넌트 또는 프로그램이 오류 제거와 수정에 의해 새로이 유입된 오류가 없는지를 확인하는 일종의 반복 시험이다.
반복적인 시험이 필요한 이유는 오류가 제거·수정되는 상당수의 시스템이 의도치 않았던 오동작이나 새로운 형태의 오류를 일으키기 때문이다.
결국, 수정·변경된 시스템이나 시스템 컴포넌트 또는 프로그램이 명세된 요구 사항을 충족시키는지를 확인하는 시험의 한 형태이다
정답: Regression(회귀)
이미 테스트된 프로그램의 테스팅을 반복하는 것

12. 다음 테이블에서 πTTL(employee)에 대한 연산 결과 값을 작성하시오.
정답:
TTL
부장
대리
과장
차장
중복제거

13. 다음은 파이썬 코드이다. 알맞는 출력값을 작성하시오.
a = "REMEMBER NOVEMBER"
b = a[:3] + a[12:16];
c = "R AND %s" % "STR";
print(b+c);
정답: REMEMBER AND STR
[부터:전까지]
%S 자리에 “STR”이 들어간다. 들어갈 문자 앞에 % 붙여주기
14. 다음 설명에 대해 보기에 주어진 답을 골라 작성하시오.
(1) 라우터로 상호 접속이 되어있는 여러 개의 네트워크 집합으로 도메인 혹은 자율시스템(Autonomous System, AS)이라고 한다.
같은 도메인 내에 존재하는 라우터는 도메인 내부 라우터가 되고 도메인 외부에 존재하는 라우터는 도메인 외부 라우터가 되는데, 여기서 도메인 내부 경로 설정을 가르킨다.
(2) 시스템 사이에 경로 설정 정보 등을 교환하기 위해 사용하는 프로토콜로써,
다른 도메인 사이에 라우팅 시 정리된 관리가 거의 없고 많은 경우에 신용도가 매우 낮아 빠른 수행보다는 보안과 제어가 본래의 목적이다.
(3) IP 라우팅 프로토콜의 한 종류로써 RIP(routing information protocol)보다 규모가 큰 네트워크에서도 사용할 수 있다.
규모가 크고 복잡한 TCP/IP 네트워크에서 RIP의 단점을 개선한 라우팅 프로토콜로써 RIP에 비해 자세한 제어가 가능하고, 관리 정보의 트래픽도 줄일 수 있다.
(4) 서로 다른 자율 시스템(AS)의 라우터 간에 라우팅 정보를 교환하는 데 사용되는 외부 게이트웨이 프로토콜(EGP)이다. 각 목적지에 대한 전체 경로가 포함되며, 다른 시스템과 교환하는 네트워크 도달 가능성 정보의 데이터베이스를 유지한다.
네트워크 도달 가능성 정보를 사용하여 AS 연결 그래프를 구성하며, 이를 통해 라우팅 루프를 제거하고 AS 수준에서 정책 결정을 실행할 수 있다.
정답:
(1) IGP
(2) EGP
(3) OSPF
(4) BGP

15. 다음 C언어에서 출력에 대한 알맞은 답을 작성하시오.
#include
int len(char*p);
int main(){
char*p1 = "2022";
char*p2 = "202207";
int a = p1;
int b = p2;
printf("%d", len(a) + len(b));
}
int len(char*p){
int r = 0;
while(*p != ''){
p++;
r++;
}
return r;
}
정답: 10
₩0은 문자의 끝을 나타냄
정의된 함수 len 에서 while 안에 보면 포인터가 가르키는 곳(맨 앞)부터 다음칸으로 이동하며(p++) 문자열 끝까지 (₩0이면 반복문 탈출) r을 증가시키게 되어있음 이게 결국 문자 갯수임
2022의 문자갯수 4 + 202207의 문자갯수 6 합쳐서 10
16. 다음 C언어 코드에서 알맞는 출력값을 작성하시오.
#include
int main(int argc, char *argv[]) {
int a[4] = {0, 2, 4, 8};
int b[3] = {};
int i = 1;
int sum = 0;
int *p1;
for (i; i < 4; i++) {
p1 = a + i;
b[i-1] = *p1 - a[i-1];
sum = sum + b[i-1] + a[i];
}
printf("%d", sum);
return 0;
}
정답: 22
p1(포인터변수) = a(배열변수이므로 배열의 0번지 주소값을 저장) + i(정수)
i : 0 → p1은 a의 0번지 주소값이므로 *p1 = 0
i : 1 → p1은 a의 1번지 주소값이므로 *p1 = 2
i : 2 → p1은 a의 2번지 주소값이므로 *p1 = 4
i : 3 → p1은 a의 3번지 주소값이므로 *p1 = 8
1루프 sum = 4
p1 = a[1]
*p1 = 2
b[0] = 2 - 0
sum = 0 + 2 + 2
2 루프 sum = 10
p1 = a[2]
*p1 = 4
b[0] = 4 - 2
sum = 4 + 2 + 4
3 루프 sum = 22
p1 = a[3]
*p1 = 8
b[0] = 8 - 4
sum = 10 + 4 + 8
17. 다음 자바코드에서 알맞는 출력값을 작성하시오.
public class Conv{
public Conv(int a) {
this.a = a;
}
int func() {
int b =1;
for (int i=1; i<a; i++){
b = a * i + b
}
return a +b;
}
int a;
}
public static void main(String[] args){
Conv obj = new Conv(3);
obj.a=5;
int b = obj.func();
system.out.print(obj.a + b);
}
정답: 61
[Conv 객체 (obj)]
┌────────────┐
│ a=3->5 │
└────────────┘
[스택 프레임 - main]
┌──────────────┐
│ obj → Conv │
│ b = 56 │
└──────────────┘
출력: 61
Conv obj = new Conv(3);
에서 int 3을 넣어서 생성자 함수로 obj.a = 3이 되었지만
바로 아래에서 obj.a=5;로 재정의했음
func 반복:
- i=1 → b = 5*1 + 1 = 6
- i=2 → b = 5*2 + 6 = 16
- i=3 → b = 5*3 + 16 = 31
- i=4 → b = 5*4 + 31 = 51
b = 51, return a + b = 5 + 51 = 56
최종 결과 obj.a + b = 6 1
obj.a = 5, b = 56
18. 다음은 함수 종속성에 대한 설명이다. 해당 문제에 대한 알맞는 답을 보기에서 골라 작성하시오.
1. 성적은 {학생,학과}에 대해서 ( 괄호 ) Functional Dependency이다.
2. 성적은 학과만 알아도 식별이 가능하므로, 이 경우에는 성적 속성은 기본키에 ( 괄호 ) Functional Dependency이다.
3. 릴레이션에서 X, Y, Z라는 3 개의 속성이 있을 때 X→Y, Y→Z 이란 종속 관계가 있을 경우, X→Z가 성립될 경우
정답:
1. Full
2. Partial
3. Transitive
원부이결다조
1(도메인이 원자값) - 2(부분함수적 종속제거) - 3(이행함수적 종속 제거) - BCNF(결정자가 후보키가 아닌 함수종속 제거) - 4NF(다치조인 제거) - 5NF(조인종속 제거)
종속의 종류
- 완전 함수적 종속(Full)
- 부분 함수적 종속(Partial)
- 이행 함수적 종속(Transitive)
- 다치종속(=다중종속) (Multi)
- 조인 종속

19. 다음 설명에 대한 알맞는 답을 보기에서 고르시오.
(1) 인터넷에서, 웹 서버와 사용자의 인터넷 브라우저 사이에 문서를 전송하기 위해 사용되는 통신 규약을 말한다.
인터넷에서 하이퍼텍스트(hypertext) 문서를 교환하기 위하여 사용되는 통신규약이다.
이 규약에 맞춰 개발해서 서로 정보를 교환할 수 있게 되었다.
(2) 문자, 그래픽, 음성 및 영상을 하나의 연상 거미집(Web of Association)과 같이 서로 연결시켜, 제시된 순서에 관계없이 이용자가 관련된 정보를 검색할 수 있도록 하는 정보 제공 방법이다.
즉, 한 페이지에서 링크된 순서에 상관없이 사용자들이 원하는 정보를 클릭함으로써 원하는 정보에 쉽게 접근하는 방식을 말한다.
(3) 웹 페이지 표시를 위해 개발된 지배적인 마크업 언어다.
또한, 제목, 단락, 목록 등과 같은 본문을 위한 구조적 의미를 나타내는 것뿐만 아니라 링크, 인용과 그 밖의 항목으로 구조적 문서를 만들 수 있는 방법을 제공한다.
정답:
(1) HTTP
(2) Hypertext
(3) HTML
하이퍼텍스트 ⊃ 하이퍼링크
HTTP (80) Hyper Text Transfer Protocol / WWW 내 HTML 문서 송수신
Hypertext : 다른 문서/그림으로 이동할 수 있는 연결을 가지고 있는 텍스트
. HTML : 하이퍼텍스트 및 웹 페이지를 만들 수 있는 마크업 언어
. URL : 인터넷 상에서 특정 웹 페이지의 위치를 나타내는데 사용되는 문자열
. MIME : 이메일에서 텍스트 외 이미지/비디오/오디오 등 여러 유형의 파일을 전송 가능
20. 다음 모듈 F에 대한 Fan-in과 Fan-out을 작성하시오.
정답:
Fan-in : 3
Fan-out : 2
패 인 해당 모듈에 들어가는 화살표 갯수
팬 아웃 해당 모듈에서 나가는 화살표 갯수 구하기