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

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

문성 2026. 2. 26. 08:00

 


1. 네트워크 장치를 필요로하지 않고 네트워크 토폴로지가 동적으로 변화되는 특징이 있으며 응용 분야로는 긴급 구조, 긴급 회의, 전쟁터에서의 군사 네트워크에 활용되는 네트워크는?

답: 애드혹 네트워크(Ad-hoc Network)

 

 

2. 다음 (1), (2)에 알맞는 답안을 쓰시오. 

( 1 ) 사람의 감정이나 경험을 나타내는 개념
( 2 ) 사용자 인터페이스. 예로는 CLI이 있다.
답: (1) UX (User Experience)  (2) UI (User Interface)

 

 

3.  트랜잭션의 특징 중, 원자성에 대해 약술하십시오.

답: 모두 반영되거나 아니면 전혀 반영되지 않아야 한다.

 

 

4. 다음은 제 ( ) 정규형으로써, 부분 함수적 종속성을 제거하여, 완전 함수적 종속을 만족하는 정규형은? 

답: 제2정규형

 

 

5. 다음은 테이블을 수정할때의 상황입니다. SQL 보기에서 괄호안에 알맞는 문장을 작성하시오.

(    1   ) 테이블명  (     2    )  컬럼 = 값 WHERE 점수 >= 90;
답: (1) UPDATE  (2) SET

 

 

6. 다음 SQL 보기에서 JOIN할 경우 괄호안에 알맞는 문장을 작성하시오.

SELECT .... FROM 학생정보 a JOIN 학과정보 b (   1   ) a.학과 = b.(   2   )
답: (1) ON  (2) 학과

 

 

7. 파이썬 비트 연산자 코드 결과

a = 100
result = 0
for i in range(1, 3):
    result = a >> i
    result = result + 1
print(result)
답: 26
                               

a = 100
result = 0
→ 변수 정의

for i in range(1, 3):
→ i 가 1~2 동안 반복(range(1, 3)) 해라.
※ reage 범위에서 끝숫자는 그 앞에까지 반복한다고 생각. 끝숫자가 되면 반복 안 하니까

    result = a >> i
    result = result + 1


※a 값이 변하려면 a >>= i 같은 식으로 'a = '형태가 있었어야한다.

 

 

8. 미국 국립 표준 기술연구소(NIST), DES를 대체하며, 128 비트 블록 크기와 128,192,256비트 키 크기의 대칭 키 암호화 방식은?

답: AES (Advanced Encryption Standard)

 

 

9. 화이트박스 테스트 검중 중에, 각 번호에 해당하는 단어 작성하시오.

( 1 ) 최소 한번은 모든 문장 수행
( 2 ) 결정(Decision) 검증기준이라고도 하며, 조건별 참 / 거짓
( 3 ) 2번과 달리 전체 조건식을 무시하며, 조건 상관없이 개별 조건 참 / 거짓
답: (1) 문장  (2) 결정  (3) 조건

 

 

10. SQL문에서 괄호안에 알맞은 답안을 작성하시오.

SELECT .... FROM ... WHERE '이름' LIKE (   1   )  ORDER BY  '컬럼명'  (    2    )
답: (1) 이%  (2) DESC  
                               

% : 0개 이상의 모든 문자
_ : 딱 한 글자만 대신

ASC : 오름차순(생략가능)
DESC : 내림차순

 

 

11. 응집도 문제로써, 각 번호에 해당하는 응집도를 쓰시오.

( 1 ) 입출력 간 연관성은 없으나, 순서에 따라 수행되는 것
( 2 ) 동일한 입력과 출력 사용
( 3 ) 하나의 기능에 모두 기어하고 밀접하게 연관되어 있는 것 (그룹화)
답: (1) 절차적 응집도  (2) 교환적 응집도  (3) 기능적 응집도

 

 

12.  패킷교환방식 중에서, 번호에 해당하는 방식을 적으시오.

( 1 ) 목적지 호스트와 미리 연결한 후, 통신하는 연결형 교환 방식
( 2 ) 헤더에 붙어서 개별적으로 전달하는 비연결형 교환 방식
답: (1) 가상 회선 방식  (2) 데이터그램 방식

 

 

13. 괄호 (   ) 안에 알맞는 단어를 쓰시오.

디자인 패턴 중에서 (     )패턴은 반복적으로 사용되는 객체들의 상호작용을 패턴화 한 것으로, 클래스나 객체들이 상호작용하는 방법이다. 알고리즘의 패턴에는 Interpreter, Observer, Command 가 있다.
답: 행위(behavioral)

 

 

14. 병행제어기법 중, 접근한 데이터에 대한 연산을 모두 마칠때까지 상호배제하는 기법을 무엇이라 하는지 작성하시오.

답: 로킹

 

 

15. 럼바우 데이터 모델링에 관한 설명으로써, 보기에 해당하는 답안을 작성하시오.

1. 입력값이 출력값일 때 ex) 자료 흐름도(DFD)
2. 시간에 따라 변하는 것 ex) 상태 다이어그램(상태도)
3. 객체들 간의 관계를 정의 ex) ER다이어그램(ERD)
[보기] Function Modeling,  Dynamic Modeling,  Object Modeling
답: (1) Function Modeling  (2) Dynamic Modeling  (3) Object Modeling

 

 

16. 다음은 C언어에 관한 소스코드이다. 실행 결과값을 작성하시오.

#include <stdio.h>
int mp(int base, int exp);
int main() {
    int res;
    res = mp(2, 10);
    printf("%d", res);
    return 0;
}
int mp(int base, int exp) {
    int res = 1;
    for (int i = 0; i < exp; i++) {
        res = res * base;
    }
    return res;
}
답: 1024
                               

int mp(int base, int exp);
int main() {
    int res;
    res = mp(2, 10);
→ 변수 정의
mp(2, 10) : 아래의 코드( int mp(int base, int exp))에서 계산되어 올라온다.
                               

    printf("%d", res);
→ 아래에서 계산된 res의 값은 1024 이므로 1024가 출력된다.

    return 0;

                               

int mp(int base, int exp) {
→ mp(2, 10) 값이 들어온다.
int base : 2 값을 받았다.
int exp : 10 값을 받았다.


    int res = 1;
res
: res 값은 1

    for (int i = 0; i < exp; i++) {
int i = 0 : i 의 초기값 0
i < exp : exp 는 10값이 들어왔으므로, i가 10보다 작은동안 반복한다.
i++ : 반복하는 동안 i 값이 1씩 증가

        res = res * base;



    return res;
→ 1024 값이 리턴되어 main 함수의 res = mp(2, 10) 로 간다.

 

 

17. 클래스 내에서 객체 생성 없이 사용할 수 있는 메소드로써 출력 결과를 작성하시오.

public class Test {
    public static void main(String[] args) {
        system.out.print(Test.check(  1  ));
    }
    (  1  ) String check(int num) {
        return (num >= 0) ? "positive" : "negative";
    }
}
답: static
                               

일반 메소드: Test t = new Test(); 처럼 new를 해서 물건을 만들어야만 부를 수 있음
static 메소드: new 할 필요 없이 Test.check() 처럼 클래스 이름에 바로 점을 찍어서 부를 수 있는 '공용 메소드'

 

 

18. 다음은 C언어 문제이다. 출력값을 작성하시오.

int main() {
    int ary[3];
    int s = 0;
    *(ary + 0) = 1;
    ary[1] = *(ary + 0) + 2;
    ary[2] = *ary + 3;
    for (int i = 0; i < 3; i++) {
        s = s + ary[i];
    }
    print("%d", s);
}
답: 8
                               

int main() {
    int ary[3];
    int s = 0;
→ 변수 정의
ary[3] : 3개의 배열을 가진 ary를 만든다.

    *(ary + 0) = 1;
*(ary + 0) : ary + 0 은 ary[0] 을 말하며, ary[0] 의 해당 주소(*)를 말한다.
ary[0]의 주소에 1을 넣어라.
즉, ary[0] 은 1 값이 들어간다.


    ary[1] = *(ary + 0) + 2;
*(ary + 0) : ary[0]의 주소에 있는 값에 +2를 해라. 1+2 = 3 가 된다.
즉, ary[1] 는 3 값이 들어간다.


    ary[2] = *ary + 3;
*ary + 3 : ary의 주소의 첫 값은 ary[0] 이므로, 여기에 +3을 해라 1+3 = 4
즉, ary[2] 는 3 값이 들어간다.


아래와 같은 형태가 된다.


    for (int i = 0; i < 3; i++) {

        s = s + ary[i];
int i = 0 : i 의 초기값 0
 i < 3 : 0부터 3까지(0~2) 반복수행해라.
i++ : 반복할 때마다 i 값은 1 증가한다.

s = s + ary[i];


    print("%d", s);

→ s는 8일 때 반복문 종료되므로 8이 출력된다.

 

 

19. 다음은 JAVA 관한 문제이다. 알맞는 출력값을 작성하시오.

public class ovr1 {
    public static void main(String[] args) {
        ovr1 a1 = new ovr1();
        ovr2 a2 = new ovr2();
        System.out.println(a1.sun(3, 2) + a2.sun(3, 2));
    }
    int sun(int x, int y) {
        return x + y;
    }
}
class ovr2 extends ovr1 {
    int sun(int x, int y) {
        return x - y + super.sun(x, y);
    }
}
답: 11
                               

 

 

20. 다음 괄호 안에 알맞은 답안을 작성하시오.

- 테스트 하네스의 도구 구성 요소 중, 상향식 테스트시, 상위 모듈 역할을 대신하는 테스트 드라이버와 하향식 테스트 시, 하위 모듈 역할을 대신하는 테스트 (     ) 이 있다.
답: 스텁