자격증 요약/정보처리기사

[21년 1회] 정보처리기사 실기 문제 풀이

문성 2026. 2. 26. 09:00


1. 물리 네트워크(MAC) 주소에 해당하는 IP 주소를 알려주는 프로토콜로 역순 주소 결정 프로토콜을 무엇이라고 하는지 쓰시오.

답: RARP (Reverse Address Resolution Protocol)

 

 

2. 다음은  DB 설계 절차에 관한 설명이다. 다음 빈칸에 들어갈 알맞은 용어를 쓰시오.

( 1 ) 은/는 특정 DBMS의 특성 및 성능을 고려하여  데이터베이스 저장 구조로 변환하는 과정으로 결과로 나오는 명세서는 테이블 정의서 등이 있다.
( 2 ) 은/는 현실 세계에 대한 인식을 추상적, 개념적으로 표현하여 개념적 구조를 도출하는 과정으로 주요 산출물에는 E-R 다이어그램이 있다.
( 3 )은/는 목표 DBMS에 맞는 스키마 설계, 트랜잭션 인터페이스를 설계하는 정규화 과정을 수행한다.
[보기] : 구현,  개념적 설계,  논리적 설계,  요구사항 분석,  물리적 설계
답: (1) 물리적 설계  (2) 개념적 설계  (3) 논리적 설계

 

 

3. 다음은 요구사항의 분류에 대한 설명이다. 괄호 (   ) 안에 들어갈 요구사항의 유형에 대해서 쓰시오.

( 1 ) 요구사항은 시스템이 제공하는 기능, 서비스에 대한 요구사항이다.
( 2 ) 요구사항은 시스템이 수행하는 기능 이외의 사항, 시스템 구축에 대한 제약사항에 관한 요구사항이다.
답: (1) 기능적  (2) 비기능적

 

 

4. 웹 서비스명, 제공 위치, 메세지 포맷, 프로토콜 정보 등 웹 서비스에 대한 상세 정보가 기술된 XML 형식으로 구성된 언어를 무엇이라고 하는지 쓰시오. 

답: WSDL

 

 

5. 다음은 파이썬 코드이다. 출력 결과를 쓰시오.

class good:
    li = ["seoul", "kyeonggi", "inchon", "daejeon", "daegu", "pusan"]
g = good()
str01 = ""
for i in g.li:
    str01 = str01 + i[0]
print(str01)
답: skiddp
                               

class good:
    li = ["seoul", "kyeonggi", "inchon", "daejeon", "daegu", "pusan"]
g = good()
str01 = " "
→ 각 변수들 정의
g = good() : li=[ ] 로 정의된 것을 g라는 값에 넣어라.

for i in g.li:
→ g.il 에 들어간 값을 한개씩 i 에 넣어라
(g 객체의 멤버 변수인 li 리스트를 순회하며 각 요소를 i 에 대입해라)

    str01 = str01 + i[0]
i[0] : i에 들어간 값들의 i[0] 에 해당하는것만 출력된다.
→ seoul : s
→ kyeonggi : k
이런 식으로
str01 = " " : 공백이 포함되어 저장된다.
str01 = str01 + i[0] : " "skiddp 가 만들어져서 str01 에 저장된다.

print(str01)
→ 출력하면 skiddp 가 된다.

 

 

6. 다음 SQL 실행 결과를 숫자만 쓰시오.

[SQL] SELECT COUNT(*) FROM 급여 WHERE EMPNO > 100 AND SAL >= 3000 OR EMPNO = 200;
답: 1
                               

SELECT COUNT(*) FROM 급여 WHERE EMPNO > 100 AND SAL >= 3000 OR EMPNO = 200;
SELECT COUNT(*) : 모든 값들을 세린다. 카운팅

FROM 급여 : 급여 테이블에서

WHERE EMPNO > 100 AND SAL >= 3000 OR EMPNO = 200;
EMPNO > 100 이고(AND)

SAL >= 3000 이거나(OR) EMPNO = 200;


결과적으로


즉, 한 개가 선택되므로, COUNT(*) 하면 1이 된다.

 

 

7. 다음 Java 프로그램 결과를 쓰시오.

public class good {
    public static void main(String[] args) {
        int[][] arr = new int[][] {
            {45, 50, 75},
            {89}
        };
        System.out.println(arr[0].length);
        System.out.println(arr[1].length);
        System.out.println(arr[0][0]);
        System.out.println(arr[0][1]);
        System.out.println(arr[1][0]);
    }
}
답: 
3
1
45
50
89
                               

public class good {
    public static void main(String[] args) {
        int[][] arr = new int[][] {
            {45, 50, 75},
            {89}
→ 배열 정의

        System.out.println(arr[0].length);
        System.out.println(arr[1].length);
        System.out.println(arr[0][0]);
        System.out.println(arr[0][1]);
        System.out.println(arr[1][0]);

※ length : 길이를 나타내라.
(arr[0].length) : arr[0] 은 {45,50,75} 이고, 3개가 있으므로 길이는 3이다.

 

 

8. 정규화된 엔티티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법을 무엇이라고 하는지 쓰시오.

답: 비정규화 or 반정규화 or 역정규화

 

 

9. 다음은 블랙박스 기법에 대한 예제이다. 블랙박스 기법 두 가지를 쓰시오.

[예제]
( 1 ) 0 <= x <= 10이면 -1 0 10 11 검사
( 2 ) 입력 데이터의 영역을 유사한 도메인별로 유횻값 / 무횻값을 그룹핑하여 나누어서 검사
답: (1) 경곗값 분석  (2) 동등분할 테스트

 

 

10. 다음은 테스트 종류에 대한 설명이다. 빈칸에 들어갈 알맞은 용어를 보기에서 찾아 기호로 쓰시오.

( 1 ) 은/는 개별 모듈, 서브루틴이 정상적으로 실행되는지 확인
( 2 ) 은/는 인터페이스 간 시스템이 정상적으로 실행되는지 확인
[보기] : 시스템 테스트,  인수 테스트,  알파 테스트,  단위 테스트,  통합 테스트,  회귀 테스트
답: (1) 단위 테스트  (2) 통합 테스트

 

 

11. 다음은 빈칸에 들어갈 알맞은 용어를 쓰시오.

- IPv6는 ( 1 )  비트 길이를 가진다.
- IPv4는 길이 32bit이며, ( 2 ) 비트씩 네 부분으로 나눈다.
답: (1) 128  (2) 8

 

 

12. 공유메모리, 소켓, 세마포어, 메세지 큐 등 프로세스 간 통신하는 기술을 무엇이라고 하는지 쓰시오.

답: IPC (Inter Process Communication)

 

 

13. 시스템 통합에 사용되는 솔루션으로 구축 유형에는 Point to Point, Hub & Spoke, Message Bus가 있다. 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간의 정보를 전달, 연계 , 통합이 가능하도록 해주는 솔루션을 무엇이라고 하는지 쓰시오.

답: EAI (Enterprise Application integration)

 

 

14. 주어진 테이블의 Cardinality / Degree를 구하시오.

답:
Cardinality : 5
Degree :  4

 

 

15. 다음은 C언어 프로그램이다. 실행 결과를 쓰시오.

#include <stdio.h>
struct good {
    char name[10];
    int age;
};
void main() {
    struct good s[] = {
        {"Kim", 28},
        {"Lee", 38},
        {"Seo", 50},
        {"Park", 35}
    };
    struct good *p;
    p = s;
    p++;
    printf("%s\n", p->name);
    printf("%d\n", p->age);
}
답:
Lee
38
                               

struct good {
    char name[10];
    int age;
→ 구조를 정의


void main() {
    struct good s[] = {
        {"Kim", 28},
        {"Lee", 38},
        {"Seo", 50},
        {"Park", 35}
→ good s 구조에 들어갈 내용 정의


    struct good *p;
→ 주소를 담을 수 있는 p를 만든다.(구조체 포인터p 생성)

    p = s;
→ p라는 주소(구조체 포인터p)는 이제부터 good s 의 맨 첫 번째칸(s[0])를 가리켜라

    p++;
→ p 에 1을 더해라 : p는 s[0] 을 가리키고 있는데 1을 더했으므로 이제부터 s[1] 을 가리킨다.

    printf("%s\n", p->name);
    printf("%d\n", p->age);

p->name : p가 가리키고 있는 name 을 출력해라.

p->age : p가 가리키고 있는 age 을 출력해라.

 

 

16. 데이터 모델 구성요소 3가지를 쓰시오.

- 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 데이터베이스를 조작하는 기본 도구이다.
- 개체 데이터 모델에서는 ( 1 ) 을/를 이용하여 실제 데이터를 처리하는 작업에 대한 명세를 나타내는데 논리 데이터 모델에서는 ( 2 ) 을/를 어떻게 나타낼 것인지 표현한다.
- ( 3 ) 은/는 데이터 무결성 유지를 위한 db의 보편적 방법으로 릴레이션의 특정 칼럼에 설정하는 제약을 의미하며, 개체무결성과 참조 무결성 등이 있다. 
답: (1) 연산  (2) 구조  (3) 제약조건

 

 

17. 다음은 Java 프로그램이다. 실행 결과를 쓰시오.

public class good {
    public static void main(String[] args) {
        int i, j;
        for (j = 0, i = 0; i <= 5; i++) {
            j += i;
            System.out.print(i);
            if (i == 5) {
                System.out.print("=");
                System.out.print(j);
            } else {
                System.out.print("+");
            }
        }
    }
}
답: 0 + 1 + 2 + 3 + 4 + 5 = 15
                               

public class good {
    public static void main(String[] args) {
        int i, j;
        for (j = 0, i = 0; i <= 5; i++) {
            j += i;
            System.out.print(i);
            if (i == 5) {
                System.out.print("=");
                System.out.print(j);
            } else {
                System.out.print("+");

※ if문 들어가기 전에 System.out.print(i) 가 있어서 i 값이 매번 출력된다

 

 

18. 시스템 객체의 접근을 개인 또는 그룹의 식별자에 기반을 둔 방법, 어떤 종류의 접근 권한을 가진 사용자가 다른 사용자에 자신의 판단에 따라 권한을 허용하는 접근제어 방식은 ?

답: 임의적 접근 통제 or DAC (Discretionary Access Control)

 

 

19. 다음은 결합도에 대한 설명이다. 빈칸에 들어갈 알맞은 용어를 보기에서 찾아 기호로 쓰시오.

( 1 ) 은/는 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우의 결합도  
( 2 ) 은/는 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우의 결합도
( 3 ) 은/는 파라미터가 아닌 모듈 밖에 선언된 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호작용하는 경우의 결합도
[보기] : 자료 결합도,  스탬프 결합도,  제어 결합도,  공통 결합도,  내용 결합도,  외부 결합도
답: (1) 내용 결합도  (2) 스탬프 결합도  (3) 공통 결합도

 

 

20. 괄호 안에 공통으로 들어갈 공격 기법을 적으시오.

(     ) 은/는 '세션을 가로채다' 라는 의미로 정상적 연결을 RST 패킷을 통해 종료시킨 후 재연결 시 희생자가 아닌 공격자에게 연결한다.
(     ) 은/는 세션 관리 취약점을 이용한 공격 기법이다.
답: 세션 하이재킹