2023년 1회 정보처리기사 실기 기출문제

2026. 2. 16. 21:31ㆍ(문제)정보처리기사 실기

11111

2023년 1회 정보처리기사 실기 기출문제

문항 1

아래 자바 코드에서 출력되는 값을 작성하시오.

코드
class Static {
    public int a = 20;
    static int b = 0;
}
public class Main {
    public static void main(String[] args) {
        int a;
        a = 10;
        Static.b = a;
        Static st = new Static();
        System.out.println(Static.b++);
        System.out.println(st.b);
        System.out.println(a);
        System.out.print(st.a);
    }
}

문항 2

다음 C언어의 출력값을 작성하시오.

코드
#include <stdio.h>
int main() {
    char a[] = "Art";
    char *p = NULL;
    p = a;
    printf("%s\n", a);
    printf("%c\n", * p);
    printf("%c\n", * a);
    printf("%s\n", p);
    for(int i = 0; a[i] != '\0'; i++) printf("%c", a[i]);
}

문항 3

다음 C언어의 출력값을 작성하시오.

코드
#include <stdio.h>
int main() {
    char *a = "qwer";
    char *b = "qwtety";
    for(int i = 0; a[i] != '\0'; i++) {
        for(int j = 0; b[j] != '\0'; j++) {
            if(a[i] == b[j]) printf("%c", a[i]);
        }
    }
}

문항 4

다음 괄호안에 들어가는 용어의 Full Name 또는 약자를 작성하시오. 

 

(    )은/는 비동기적인 웹 애플리케이션의 제작을 위해 JavaScript와 XML을 이용한 비동기적 정보 교환 기법이다.

(    )은/는 필요한 데이터만을 웹서버에 요청해서 받은 후 클라이언트에서 데이터에 대한 처리를 할 수 있다.

보통 SOAP이나 XML 기반의 웹 서비스 프로토콜이 사용되며, 웹 서버의 응답을 처리하기 위해 클라이언트 쪽에서는 자바스크립트를 쓴다. ( )은/는 Google Map과 Google pages에서 사용한 기술에 기반하여 제작되었다.

문항 5

아래 내용을 확인하여 괄호 안에 용어를 표안에 알맞는 값을 고르시오.

 

1. (    )

- 회선교환 방식과 데이터그램 방식의 장점을 결합한 통신 기술이다.

- 처음 패킷으로 최적의 경로를 고정하고 경로가 고정되면 그 다음은 패킷으로 나누어 고속으로 전송할 수 있다.

- 통신기술에는 ATM이 있으며, 정해진 시간 안이나 다량의 데이터를 연속으로 보낼 때 적합하다.

2. (    )

- 패킷교환 방식으로 동작하면서 IP 주소를 사용하는 인터넷을 의미한다.

- 각 전송패킷을 미리 정해진 경로 없이 독립적으로 처리하여 교환하는 방식이다 - 특정 교환기의 고장 시 모든 패킷을 잃어버리는 가상회선과 달리, 그 경로를 피해서 전송할 수 있으므로 더욱 신뢰가 가능하다.

- 짧은 메시지의 패킷들을 전송할 때 효과적이고 재정렬 기능이 필요하다.

문항 6

아래 내용을 확인하여 알맞는 답을 작성하시오.

 

2 계층(데이터링크 계층)에서 구현되는 터널링 기술 중 하나

L2F와 PPTP가 결합된 프로토콜로 VPN과 인터넷 서비스 제공자(ISP)가 이용

IPsec을 함께 사용하면 PPTP보다 훨씬 안전하지만 보안보다 익명화에 더 적합

문항 7

아래 내용에서 괄호안에 알맞는 용어를 작성하시오. ​ 

 

(     ) 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용 프로그램 또는 그 프로토콜을 가리킨다.

(     ) 보안 접속을 통한 rsh, rcp, rlogin, rexec, telnet, ftp 등을 제공하며, IP spoofing (IP스푸핑, 아이피 위/변조 기법중 하나)을 방지하기 위한 기능을 제공한다.

(     ) 기본적으로 포트는 22번이다. ​

문항 8

아래 설명에 대한 알맞는 답을 작성하시오.

 

( 1 )

- 감염된 컴퓨터 시스템에서 스스로 복제해 다른 컴퓨터로 복사본을 확산시킬 수 있는 악성 프로그램이다.

- 독자적으로 실행되며 다른 실행 프로그램이 필요하지 않으며, 파일 전송 기능을 착취하도록 설계된다.

- 자가 복제 및 네트워크를 통한 전파도 가능하다.

 

( 2 )

- 정상적인 프로그램으로 가장해 사용자가 직접 컴퓨터에 설치하도록 위장하며, 백도어를 만들어 공격자가 침입할 수 있도록 만들거나 시스템을 파괴한다.

- 정상적인 프로그램으로 위장하여 시작부터 끝까지 램에 상주하며, 시스템 내부 정보를 공격자의 컴퓨터로 빼돌리는 프로그램이다.

- 좀비PC처럼 내부정보 유출뿐만 아니라 컨트롤까지 가능한 종류가 있고, 단순히 내부 데이터만 유출할 수 있는 타입의 트로이 목마가 있다. - 감염된 후에 스스로를 복제하는 능력은 없다.

 

( 3 )

- 대상(정상파일)을 감염시키는 형태로 실행되며, 감염시킬 대상이 존재하지 않을 때에는 실행되지 않으며 다른정상파일로의 자기 복제 기능이 있다.

- 컴퓨터 시스템에 침입해 프로그램에 기생하며 시스템을 변경하거나 사용할 수 없도록 만드는 악성코드이다.

- 네트워크를 통해 전파되지 않으며 방식 및 위치에 따라 여러형태로 나뉜다.

문항 9

다음 아래 코드에서 이진수를 십진수로 변환하는 코드에 대해 괄호 (a) (b)의 적합한 답을 작성하시오.

코드
#include <stdio.h>
int main() {
    int input = 101110;
    int di = 1;
    int sum = 0;
    while(1) {
        if(input == 0) break; else {
            sum = sum + (input(a) (b)) * di;
            di = di * 2;
            input = input / 10;
        }
    }
    printf("%d", sum);
    return 0;
}

문항 10

다음 보안 관련 설명으로 괄호안에 알맞는 용어를 작성하시오. 

 

(     )은/는 TCP/IP에서 IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜이다.

(     ) 프로토콜은 보통 다른 호스트나 게이트웨이 와 연결된 네트웍에 문제가 있는지 확인하기 위한 목적으로 주로 사용된다.

(     ) 을/를 이용한 공격에는 (     ) Flooding가 있는데 ping 명령어를 통한 (     ) 패킷을 연속적으로 계속 보내어 서버의 요청에 응답으로 인한 다른작업을 하지 못하도록 하는 공격이다.

문항 11

다음은 디자인 패턴에 관한 설명이다. 설명에 내용에 알맞는 답을 고르시오.

 

- 다른 무언가와 이어지는 인터페이스 역할을 하는 클래스를 의미한다.

- 실제 객체를 호출하면 행위를 중간에 가로채서 다른 동작을 수행하는 객체로 변경한다.

- 객체를 정교하게 제어해야 하거나 객체 참조가 필요한 경우 사용한다.

- 분리된 객체를 위임함으로써 대리 작업을 중간 단계에 삽입할 수도 있으며 분리된 객체를 동적으로 연결함으로써 객체의 실행 시점을 관리할 수도 있다.

문항 12

다음은 데이터베이스에 관련된 내용이다. 각 괄호안에 알맞는 답을 작성하시오.

 

( 1 )

- 셀 수 있는 수량의 순서 있는 열거이다.

- 어떤 요소의 집합, 혹은 테이블에서의 행을 가리키지만 일반적인 집합과는 달리 중복이 허용될 수 있다.

- 리스트와 동일하게 여러 객체를 모아서 담으며, 숫자, 문자, 객체, 배열, 튜플 안의 튜플 전부 가능하다.

 

( 2 )

- 어느 한 시점에 릴레이션의 내용(상태), 즉 저장된 데이터 전체를 의미한다.

- 단순히 릴레이션 또는 릴레이션 외연(Relation Extension)라고도 한다.

 

( 3 )

- 특정 데이터 집합의 유니크(Unique)한 값의 개수이다.

- 전체 행에 대한 특정 컬럼의 중복 수치를 나타내는 지표이다.

문항 13

[학생] 테이블에서 학생 이름이 '민수'인 튜플을 삭제하는 쿼리를 작성하시오. 조건

- 컬럼의 값이 문자열일 경우 작은 따움표 (' ')를 표시하시오.

- SQL 마지막에 세미콜론(;)은 표기하지 않아도 관계 없습니다.

문항 14

다음 코드에서 괄호안에 알맞는 값을 변수명으로 작성하시오.

코드
public class Sort {
    public static void swap(int[] arr, int idx1, int idx2) {
        int temp = arr[idx1];
        arr[idx1] = arr[idx2];
        arr[(1)] = temp;
    }
    public static void Usort(int[] array, int length) {
        for(int i = 0; i < length; i++) {
            for(int j = 0; j < length - i - 1; j++) {
                if(array[j] > array[j + 1]) {
                    swap(array, j, j + 1);
                }
            }
        }
    }
    public static void main(String[] args) {
        int[] item = new int[] {
            5, 3, 8, 1, 2, 7
        };
        int nx = 6;
        Usort(item, (2));
        for(int data : item) {
            System.out.print(data + " ");
        }
    }
}
: 1 2 3 5 7 8

문항 15

다음 파이썬 코드의 알맞는 출력값을 작성하시오.

코드
a = {'한국', '중국', '일본'}
a.add('베트남')
a.add('중국')
a.remove('일본')
a.update({'홍콩', '한국', '태국'})
print(a)

문항 16

다음 성적 테이블에서 과목별 점수의 평균이 90점 이상인 '과목이름', '최소점수', '최대점수' 를 검색하고자 한다. [조건]을 참고하여 적합한 SQL문을 작성하시오.

 

[조건]

- where사용하지 말하야 한다.

- SELECT절에 별칭을 사용하여 작성해야 한다.

- SQL 구문 마지막에 세미콜론 생락 가능하다.

- 반드시 GROUP BY와 having을 사용해야 한다.

- 집계함수를 사용해야 한다.

문항 17

다음 JAVA 코드에서 알맞는 출력 값을 작성하시오.

abstact

코드
class Vehicle {
    String name;
    abstract public String getName(String val);
    public String getName() {
        return "Vehicle name: " + name;
    }
}
class Car extends Vehicle {
    public Car(String val) {
        name = super.name = val;
    }
    public String getName(String val) {
        return "Car name:" + val;
    }
    public String getName(byte val[]) {
        return "Car name:" + val;
    }
}
public class Main {
    public static void main(String[] args) {
        Vehicle obj = new Car("Spark");
        System.out.println(obj.getName());
    }
}

문항 18

다음은 스키마와 관련된 내용이다. 각 괄호안에 알맞는 답을 작성하시오.

 

(1) 외부 스키마
(External Schema)
• 사용자나 응용 프로그래머 관점에서 필요한 데이터베이스의 논리적 구조를 정의
• 전체 데이터베이스의 한 논리적 부분(= 서브 스키마)
• 하나의 데이터베이스 시스템에 여러 외부 스키마 존재 가능
• 하나의 외부 스키마를 여러 프로그램 또는 사용자가 공유 가능
(2) 개념 스키마
(Conceptual Schema)
• 데이터베이스의 전체적인 논리적 구조 정의
• 모든 응용 프로그램과 사용자가 필요로 하는 데이터를 통합·조직
• 개체 간 관계(Relationship) 및 제약조건 정의• 접근 권한, 보안, 무결성 규칙 명세
• 데이터베이스 파일의 전체적인 형태 정의
• 기관/조직 관점에서 정의
(3) 내부 스키마(Internal Schema) • 물리적 저장 장치 관점에서 데이터 저장 방법 기술
• 실제 저장 레코드의 물리적 구조 정의
• 저장 데이터 항목 표현 방법, 내부 레코드 순서, 인덱스 유무 등 정의
• 시스템 프로그래머 또는 설계자가 관리

문항 19

다음 아래 제어 흐름 그래프가 분기 커버리지를 만족하기 위한 테스팅 순서를 쓰시오.

문항 20

다음 자바 코드에 대한 출력 값을 작성하시오.

코드
class Parent {
    int x = 100;
    Parent() {
        this(500);
    }
    Parent(int x) {
        this.x = x;
    }
    int getX() {
        return x;
    }
}
class Child extends Parent {
    int x = 4000;
    Child() {
        this(5000);
    }
    Child(int x) {
        this.x = x;
    }
}
public class Main {
    public static void main(String[] args) {
        Child obj = new Child();
        System.out.println(obj.getX());
    }
}

 

 

 

 

2222