정보처리기사 실기(23년 1회 기출복원)

2025. 9. 17. 18:07·이론공부/정보처리기사 실기 기출

출처 : https://chobopark.tistory.com/372

 

[2023년 1회] 정보처리기사 실기 복원 문제

안녕하세요. 2023년 1회 정보처리기사 실기 기출문제를 정리해보았습니다.해당 복원된 기출문제가 많은 분들에게 도움이 되었으면 좋겠습니다.정보처리기사 개편안인 2020년 시험부터 기출문제

chobopark.tistory.com

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);
    }
}
더보기

정답 : 

10

11

10

20

 

풀이 : 

Static 클래스 안

a는 인스턴스 변수로 객체마다 독립적

b는 클래스 변수로 모든 객체가 공유

 

main의 지역변수 a = 10으로 초기화

Static.b = a 로 설정

 

new Static() 새로운 객체 생성 시 a = 20, b = 10

 

출력문

1. 10출력 후 b +1, b = 11

2. 클래스 변수 출력 11

3. 지역변수 a 출력 10

4. 인스턴스 변수 a 출력 20

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]);
 
}
더보기

정답 : 

Art

A

A

Art

Art

풀이 :

출력문

1. a의 문자열 출력 Art

2. p가 가리키는 문자 값(a의 첫번째 포인터) 출력 A

3. 위와동일 출력 A

4. p가 가리키는 문자열 값 출력 Art

 

for문

문자열 a[] 리터럴을 순회하여 출력 a = { 'A', 'r', 't', '\0' }

Art 출력

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]);
        }
    }
 
}
더보기

정답 : qwe

 

풀이 : 각 문자열을 순회하며 문자가 같으면 글자 출력 qwe

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

(   )은/는 비동기적인 웹 애플리케이션의 제작을 위해 JavaScript와 XML을 이용한 비동기적 정보 교환 기법이다.
(   )은/는 필요한 데이터만을 웹서버에 요청해서 받은 후 클라이언트에서 데이터에 대한 처리를 할 수 있다. 
보통 SOAP이나 XML 기반의 웹 서비스 프로토콜이 사용되며, 웹 서버의 응답을 처리하기 위해 클라이언트 쪽에서는 자바스크립트를 쓴다.
(   )은/는 Google Map과 Google pages에서 사용한 기술에 기반하여 제작되었다.

더보기

정답 : AJAX

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

(보기가 있습니다. ex: 패킷​  등)

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

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

 - 통신기술에는 ATM이 있으며, 정해진 시간 안이나 다량의 데이터를 연속으로 보낼 때 적합하다.
(   )  - 패킷교환 방식으로 동작하면서 IP 주소를 사용하는 인터넷을 의미한다.

 - 각 전송패킷을 미리 정해진 경로 없이 독립적으로 처리하여 교환하는 방식이다

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

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

정답 : 가상회선, 데이터그램

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

  • 2 계층(데이터링크 계층)에서 구현되는 터널링 기술 중 하나
  • L2F와 PPTP가 결합된 프로토콜로 VPN과 인터넷 서비스 제공자(ISP)가 이용
  • IPsec을 함께 사용하면 PPTP보다 훨씬 안전하지만 보안보다 익명화에 더 적합
더보기

정답 : L2TP

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

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

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

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

더보기

정답 : SSH

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

(보기가 있습니다. ex: 랜섬웨어, 스파이웨어​  등)

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

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

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

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

- 좀비PC처럼 내부정보 유출뿐만 아니라 컨트롤까지 가능한 종류가 있고, 단순히 내부 데이터만 유출할 수 있는 타입의 트로이 목마가 있다.

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

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

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

정답 :

(1) - 웜

(2) - 트로이 목마

(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;
}
더보기

정답 :

(a) - %, (b) - 10 or 5 or 2

(a) - &, (b) - 1

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

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

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

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

더보기

정답 : ICMP

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

(생성/구조/행위 별로 표형태의 보기가 있습니다. ex: Builder, Bridge​  등)

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

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

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

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

더보기

정답 : proxy

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

(보기가 있습니다. ex: 릴레이션 스키마​  등)

구분 내용
(   1   ) - 셀 수 있는 수량의 순서 있는 열거이다.

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

- 리스트와 동일하게 여러 객체를 모아서 담으며, 숫자, 문자, 객체, 배열, 튜플 안의 튜플 전부 가능하다.
(   2   ) - 어느 한 시점에 릴레이션의 내용(상태), 즉 저장된 데이터 전체를 의미한다.

- 단순히 릴레이션 또는 릴레이션 외연(Relation Extension)라고도 한다.
(   3   ) - 특정 데이터 집합의 유니크(Unique)한 값의 개수이다.

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

정답 :

(1) - 튜플

(2) - 릴레이션 인스턴스

(3) - 카디널리티

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

조건
- 컬럼의 값이 문자열일 경우 작은 따움표 ('  ')를 표시하시오.
- SQL 마지막에 세미콜론(;)은 표기하지 않아도 관계 없습니다.

더보기

정답 : DELETE FROM 학생 WHERE 이름 = '민수';

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

더보기

정답 : 

(1) - idx2

(2) - nx

 

풀이 : 

item =  {5, 3, 8, 1, 2, 7}

nx = 6

Usort(item, nx) 호출

오름차순 정렬하는 메서드

 

swap(array, j, j + 1) 호출

서로 위치를 바꾸는 메서드

temp = arr[idx1]

arr[idx1] = arr[idx2]

arr[idx2] = temp

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

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

정답 : {'한국', '중국', '베트남', '홍콩', '태국'}

 

풀이 :

a = set이다(중복을 허용하지 않으며 순서를 보장하지않음)

a.add('베트남') → a = {'한국', '중국', '일본', '베트남'}

a.add('중국') → a = {'한국', '중국', '일본', '베트남'} → set이므로 중복을 허용하지않음

a.remove('일본') → a = {'한국', '중국', '베트남'}

a.update({'홍콩', '한국', '태국'}) →  a = {'한국', '중국', '베트남', '홍콩', '태국'} → 중복을 제외하고 추가

print(a)

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

조건: 
- where사용하지 말하야 한다.
- SELECT절에 별칭을 사용하여 작성해야 한다.
- SQL 구문 마지막에 세미콜론 생락 가능하다.
- 반드시 GROUP BY와 having을 사용해야 한다.
- 집계함수를 사용해야 한다.

더보기

정답 :

SELECT

  과목이름,

  MIN(점수) AS 최소점수,

  MAX(점수) AS 최대점수

FROM

  성적

GROUP BY

  과목이름

HAVING

  AVG(점수) >= 90

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());
 
    }
}
더보기

정답 : Vegicle name: Spark

 

풀이 :

Vehicle obj = new Car("Spark");

Car(String val) 호출

name과 super.nema 모두 "Spark"로 설정

obj.getName() 호출

Car클래스에는 getName()이 오버라이딩된게 없으므로 Vehicle.getName() 호출

Vegicle name: Spark 출력

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

구분 내용
(   1   )
스키마
- 사용자나 응용 프로그래머가 개인의 입장에서 필요한 데이터베이스의 논리적 구조를 정의한다.
- 전체 데이터베이스의 한 논리적인 부분으로 볼 수 있기 때문에 서브 스키마라고도 한다.
- 하나의 데이터베이스 시스템에는 여러 개의 외부 스키마가 존재할 수 있다.
- 하나의 외부 스키마를 여러개의 응용 프로그램 혹은 사용자가 공유할 수 있다.
(   2   )
스키마
- 데이터베이스의 전체적인 논리적 구조로, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재한다.
- 개체 간의 관계(Relationship)와 제약 조건을 나타내고 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의한다.
- 데이터베이스 파일에 저장되는 데이터의 형태를 나타내는 것이다.
- 기관이나 조직체의 관점에서 데이터베이스를 정의한 것이다
(   3   )
스키마
- 물리적인 저장장치 입장에서 데이터가 저장되는 방법을 기술한 것이다.
- 실제 데이터베이스에 저장될 레코드의 물리적인 구조를 정의한다. 
- 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서, 인덱스 유/무 등을 나타낸다.
- 시스템 프로그래머나 시스템 설계자가 관리한다.
더보기

정답 :

(1) - 외부

(2) - 개념

(3) - 내부

 

풀이 : 

외부 - 사용자관점, 다양한형태, 서브스키마라고도함

개념 - 사용자와 DB관리자 관점, 논리적

내부 - DB설계/개발자 관점, 물리적

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

더보기

정답 : 1234561, 124567 or 124561, 1234567

 

풀이 : 분기 커버리지 - 전체 결정의 분기가 적어도 한 번씩은 실행되어 참/거짓 결과 수행

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());
    }
}
더보기

정답 : 500

 

풀이 :

Child obj = new Child() ; → Child() 객체 생성

Child.x = 5000

자동으로 super()가 호출됨 Parent.x = 500

obj.getX() 호출

get()는 오버라이딩되지 않았으므로 Parent.getX() 호출

500 출력

 

'이론공부 > 정보처리기사 실기 기출' 카테고리의 다른 글

기출 용어 정리  (1) 2025.10.23
정보처리기사 실기(23년 2회 기출복원)  (0) 2025.09.17
정보처리기사 실기(23년 3회 기출복원)  (0) 2025.09.16
정보처리기사 실기(24년 1회 기출복원)  (0) 2025.09.14
정보처리기사 실기(24년 2회 기출복원)  (0) 2025.09.14
'이론공부/정보처리기사 실기 기출' 카테고리의 다른 글
  • 기출 용어 정리
  • 정보처리기사 실기(23년 2회 기출복원)
  • 정보처리기사 실기(23년 3회 기출복원)
  • 정보처리기사 실기(24년 1회 기출복원)
DJ.Kang
DJ.Kang
백엔드 개발 기록 블로그
  • DJ.Kang
    DJ Hello World
    DJ.Kang
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 이론공부
        • 개념
        • 정보처리기사 필기
        • 정보처리기사 실기 기출
        • 네트워크관리사 2급
        • SQLD
      • 시스템설계
      • Java & Spring N
        • TIL
        • 트러블슈팅
        • 고도화
        • 알고리즘
        • 코딩테스트
        • Java
        • Spring N
        • Thymeleaf
      • 프로젝트
        • coin-trading
        • 트러블슈팅
      • Docker
      • 웹
      • git & github
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    java two-pointer
    java super
    java
    java기초
    Java 생성자
    java 세수의합
    개발로드맵
    java 멤버
    Java this
    프로그래머스 java 기초트레이닝
    자료구조
    java 제어자
    데이터 타입
    데이터 크기
    java 에라토스테네스의 체
    java 메서드
    java 유클리드 호제법
    java arrays.copyofrnage()
    프로그래머스 java 기초 트레이닝
    java enhance switch
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
DJ.Kang
정보처리기사 실기(23년 1회 기출복원)
상단으로

티스토리툴바