정처기 실기· 20문항· 조회 0전문가 검수

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

정보처리기사 실기 2023년 1회 기출 복원 20문항을 정답·해설과 함께 정리했습니다. 검색해서 들어오신 분들도 바로 풀어보고 채점까지 가능합니다.

안녕하세요. 문어입니다 🐙


📋 회차 정보

이번 글은 정보처리기사 실기 2023년 1회 기출 복원입니다. 아래는 시험 응시 정보 요약이에요.

자격증정보처리기사 실기
연도2023
회차1
문항 수20문항

📊 출제 영역 한눈에

이번 회차의 과목별 문항 분포입니다. 비중이 큰 영역부터 우선 풀이하면 효율적이에요.

과목문항 수비중
Java4문항20%
C언어3문항15%
신기술 동향1문항5%
네트워크/OS3문항15%
보안2문항10%
소프트웨어 설계2문항10%
데이터베이스 이론2문항10%
SQL2문항10%
Python1문항5%

💡 학습 팁

정보처리기사 실기는 코드 빈칸·약술형 비중이 큽니다. 기출 복원으로 자주 나오는 키워드(SQL, 보안, 디자인 패턴, 신기술 동향)를 익히고, 출제 빈도 높은 챕터부터 회독하는 게 효율적입니다.

📝 기출문제 전체 보기

정보처리기사 실기 2023년 1회차 기출 복원입니다. 각 문제 아래의 「정답·해설 보기」를 펼치면 정답과 해설이 나타나요. 실전 시험 환경(타이머·자동 채점·오답 누적)에서 풀어보고 싶다면 글 맨 아래 「직접 풀러가기」를 눌러주세요.

  1. 문제 1

    단답형

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

    정답·해설 보기

    모범답안

    10 11 10 20

    키워드: 10 11 10 20, 10 11 10 20

    해설

    지역변수 a=10 을 static 필드 Static.b 에 대입하므로 b=10 이 된다. System.out.println(Static.b++) 은 후위 증가라 현재 값 10 을 먼저 출력하고 b 는 11 이 된다. st.b 는 static 필드를 인스턴스로 접근한 것이라 11 을 출력한다. 지역변수 a 는 그대로 10, 인스턴스 필드 st.a 는 20 이다. 따라서 10, 11, 10, 20 이 출력된다.

  2. 문제 2

    단답형

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

    정답·해설 보기

    모범답안

    Art A A Art Art

    키워드: Art A A Art Art, Art A A Art Art

    해설

    p 는 배열 a 의 시작 주소를 가리킨다. %s 로 a 와 p 를 출력하면 둘 다 "Art" 이다. *p 와 *a 는 첫 문자 'A' 를 출력한다. 마지막 for 문은 a[i] 를 한 글자씩 출력하여 "Art" 가 된다. 따라서 Art / A / A / Art / Art 가 출력된다.

  3. 문제 3

    단답형

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

    정답·해설 보기

    모범답안

    qwe

    키워드: qwe

    해설

    a 의 각 문자(q,w,e,r)에 대해 b("qwtety")에 같은 문자가 있으면 출력한다. 'q' 는 b 에 있어 출력, 'w' 도 있어 출력, 'e' 도 b 에 있어 출력, 'r' 은 b 에 없다. 따라서 "qwe" 가 출력된다.

  4. 문제 4

    단답형

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

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

    ( )은/는 필요한 데이터만을 웹서버에 요청해서 받은 후 클라이언트에서 데이터에 대한 처리를 할 수 있다. 보통 SOAP이나 XML 기반의 웹 서비스 프로토콜이 사용되며, 웹 서버의 응답을 처리하기 위해 클라이언트 쪽에서는 자바스크립트를 쓴다.

    ( )은/는 Google Map과 Google pages에서 사용한 기술에 기반하여 제작되었다.

    정답·해설 보기

    모범답안

    AJAX (Asynchronous JavaScript and XML)

    키워드: AJAX, Asynchronous JavaScript and XML

    해설

    JavaScript 와 XML 을 이용해 비동기적으로 데이터를 교환하고, 필요한 데이터만 서버에 요청해 클라이언트에서 처리하며 Google Map 등에 사용된 기술은 AJAX(Asynchronous JavaScript and XML)이다.

  5. 문제 5

    단답형

    아래 내용을 확인하여 괄호 안에 알맞는 용어를 보기에서 골라 작성하시오. (보기 예: 패킷 등)

    구분내용
    ( 1 )- 회선교환 방식과 데이터그램 방식의 장점을 결합한 통신 기술이다.
    - 처음 패킷으로 최적의 경로를 고정하고 경로가 고정되면 그 다음은 패킷으로 나누어 고속으로 전송할 수 있다.
    - 통신기술에는 ATM이 있으며, 정해진 시간 안이나 다량의 데이터를 연속으로 보낼 때 적합하다.
    ( 2 )- 패킷교환 방식으로 동작하면서 IP 주소를 사용하는 인터넷을 의미한다.
    - 각 전송패킷을 미리 정해진 경로 없이 독립적으로 처리하여 교환하는 방식이다.
    - 특정 교환기의 고장 시 모든 패킷을 잃어버리는 가상회선과 달리, 그 경로를 피해서 전송할 수 있으므로 더욱 신뢰가 가능하다.
    - 짧은 메시지의 패킷들을 전송할 때 효과적이고 재정렬 기능이 필요하다.
    정답·해설 보기

    모범답안

    1. 가상회선 2. 데이터그램

    키워드: 1. 가상회선 2. 데이터그램, 가상회선 데이터그램, Virtual Circuit Datagram

    해설

    처음 패킷으로 경로를 고정한 뒤 그 경로로 연속 전송하며 ATM 이 대표적인 방식은 가상회선 방식이다. 미리 정해진 경로 없이 각 패킷을 독립적으로 처리하고 고장 경로를 피해 전송하며 재정렬이 필요한 방식은 데이터그램 방식이다.

  6. 문제 6

    단답형

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

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

    모범답안

    L2TP

    키워드: L2TP, Layer 2 Tunneling Protocol

    해설

    2계층에서 동작하는 터널링 프로토콜로 L2F 와 PPTP 가 결합되었고 IPsec 과 함께 쓰면 안전한 프로토콜은 L2TP(Layer 2 Tunneling Protocol)이다.

  7. 문제 7

    단답형

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

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

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

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

    정답·해설 보기

    모범답안

    SSH (Secure SHell)

    키워드: SSH, Secure SHell, Secure Shell

    해설

    원격 로그인과 명령 실행, 파일 복사를 보안 접속으로 제공하고 IP 스푸핑 방지 기능이 있으며 기본 포트가 22번인 프로토콜은 SSH(Secure SHell)이다.

  8. 문제 8

    단답형

    아래 설명에 대한 알맞는 답을 작성하시오. (보기 예: 랜섬웨어, 스파이웨어 등)

    구분내용
    ( 1 )- 감염된 컴퓨터 시스템에서 스스로 복제해 다른 컴퓨터로 복사본을 확산시킬 수 있는 악성 프로그램이다.
    - 독자적으로 실행되며 다른 실행 프로그램이 필요하지 않으며, 파일 전송 기능을 착취하도록 설계된다.
    - 자가 복제 및 네트워크를 통한 전파도 가능하다.
    ( 2 )- 정상적인 프로그램으로 가장해 사용자가 직접 컴퓨터에 설치하도록 위장하며, 백도어를 만들어 공격자가 침입할 수 있도록 만들거나 시스템을 파괴한다.
    - 정상적인 프로그램으로 위장하여 시작부터 끝까지 램에 상주하며, 시스템 내부 정보를 공격자의 컴퓨터로 빼돌리는 프로그램이다.
    - 감염된 후에 스스로를 복제하는 능력은 없다.
    ( 3 )- 대상(정상파일)을 감염시키는 형태로 실행되며, 감염시킬 대상이 존재하지 않을 때에는 실행되지 않으며 다른 정상파일로의 자기 복제 기능이 있다.
    - 컴퓨터 시스템에 침입해 프로그램에 기생하며 시스템을 변경하거나 사용할 수 없도록 만드는 악성코드이다.
    - 네트워크를 통해 전파되지 않으며 방식 및 위치에 따라 여러 형태로 나뉜다.
    정답·해설 보기

    모범답안

    1. 웜 2. 트로이 목마 3. 바이러스

    키워드: 1. 웜 2. 트로이 목마 3. 바이러스, 웜 트로이 목마 바이러스, Worm Trojan horse Virus

    해설

    스스로 복제해 네트워크로 전파되고 독자 실행되는 것은 웜이다. 정상 프로그램으로 위장해 백도어를 만들지만 자가 복제 능력은 없는 것은 트로이 목마이다. 정상 파일에 기생하여 감염시키고 대상 파일이 있어야 실행되며 자기 복제는 하나 네트워크 전파는 안 하는 것은 바이러스이다.

  9. 문제 9

    단답형

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

    정답·해설 보기

    모범답안

    (a) % (b) 10

    키워드: % 10, (a) % (b) 10, input % 10

    해설

    각 자리의 비트(0 또는 1)를 오른쪽에서부터 추출해 자리값 di를 곱해 더하는 코드이다. input의 마지막 자리를 얻으려면 input % 10을 사용한다. 이후 di는 1, 2, 4, 8, ... 순으로 커지고 input은 input / 10으로 한 자리씩 줄어든다. 따라서 (a)는 %, (b)는 10이다.

  10. 문제 10

    단답형

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

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

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

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

    정답·해설 보기

    모범답안

    ICMP

    키워드: ICMP, Internet Control Message Protocol

    해설

    IP 패킷 처리 중 발생하는 오류를 알려주고 ping 으로 네트워크 연결 상태를 확인하며, ICMP Flooding 공격에 악용되는 프로토콜은 ICMP(Internet Control Message Protocol)이다.

  11. 문제 11

    단답형

    다음은 디자인 패턴에 관한 설명이다. 설명 내용에 알맞는 답을 고르시오. (생성/구조/행위 별로 표 형태의 보기가 있습니다. 예: Builder, Bridge 등)

    • 다른 무언가와 이어지는 인터페이스 역할을 하는 클래스를 의미한다.
    • 실제 객체를 호출하면 행위를 중간에 가로채서 다른 동작을 수행하는 객체로 변경한다.
    • 객체를 정교하게 제어해야 하거나 객체 참조가 필요한 경우 사용한다.
    • 분리된 객체를 위임함으로써 대리 작업을 중간 단계에 삽입할 수도 있으며 분리된 객체를 동적으로 연결함으로써 객체의 실행 시점을 관리할 수도 있다.
    정답·해설 보기

    모범답안

    Proxy (프록시)

    키워드: Proxy, 프록시, 프록시 패턴

    해설

    실제 객체에 대한 접근을 대신(대리)하여 호출을 가로채고 정교하게 제어하며 대리 작업을 중간에 삽입하는 구조 패턴은 프록시(Proxy) 패턴이다.

  12. 문제 12

    단답형

    다음은 데이터베이스에 관련된 내용이다. 각 괄호 안에 알맞는 답을 작성하시오. (보기 예: 릴레이션 스키마 등)

    구분내용
    ( 1 )- 셀 수 있는 수량의 순서 있는 열거이다.
    - 어떤 요소의 집합, 혹은 테이블에서의 행을 가리키지만 일반적인 집합과는 달리 중복이 허용될 수 있다.
    - 리스트와 동일하게 여러 객체를 모아서 담으며, 숫자, 문자, 객체, 배열, 튜플 안의 튜플 전부 가능하다.
    ( 2 )- 어느 한 시점에 릴레이션의 내용(상태), 즉 저장된 데이터 전체를 의미한다.
    - 단순히 릴레이션 또는 릴레이션 외연(Relation Extension)이라고도 한다.
    ( 3 )- 특정 데이터 집합의 유니크(Unique)한 값의 개수이다.
    - 전체 행에 대한 특정 컬럼의 중복 수치를 나타내는 지표이다.
    정답·해설 보기

    모범답안

    1. 튜플 2. 릴레이션 인스턴스 3. 카디널리티

    키워드: 1. 튜플 2. 릴레이션 인스턴스 3. 카디널리티, 튜플 릴레이션 인스턴스 카디널리티, Tuple Relation Instance Cardinality

    해설

    테이블의 행을 가리키며 순서 있는 열거인 것은 튜플이다. 한 시점에 릴레이션에 저장된 데이터 전체(외연)는 릴레이션 인스턴스이다. 특정 컬럼의 유니크한 값의 개수를 나타내는 지표는 카디널리티이다.

  13. 문제 13

    단답형

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

    [학생]

    순번학년이름
    11종현
    22민수
    32수연
    43수지

    [조건]

    • 컬럼의 값이 문자열일 경우 작은 따옴표 (' ')를 표시하시오.
    • SQL 마지막에 세미콜론(;)은 표기하지 않아도 관계 없습니다.
    정답·해설 보기

    모범답안

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

    키워드: delete from 학생 where 이름 = '민수', DELETE FROM 학생 WHERE 이름 = '민수'

    해설

    특정 튜플을 삭제하는 명령은 DELETE FROM 테이블 WHERE 조건 형식이다. 학생 테이블에서 이름이 문자열 '민수'인 행을 삭제하므로 DELETE FROM 학생 WHERE 이름 = '민수'; 가 된다.

  14. 문제 14

    단답형

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

    출력 값 : 1 2 3 5 7 8

    정답·해설 보기

    모범답안

    ( 1 ) idx2, ( 2 ) nx

    키워드: idx2, nx, (1) idx2 (2) nx, idx2 nx

    해설

    swap 함수는 arr[idx1] 과 arr[idx2] 의 값을 교환한다. arr[idx1] 에는 이미 arr[idx2] 값이 들어갔으므로 ( 1 )에는 temp 를 넣을 자리인 idx2 가 들어간다. Usort 호출 시 두 번째 인자는 배열 길이이고 nx=6 이 길이이므로 ( 2 )에는 nx 가 들어간다.

  15. 문제 15

    단답형

    다음 파이썬 코드를 실행한 뒤 최종 집합 a에 포함되는 원소를 작성하시오. 단, set은 출력 순서가 보장되지 않으므로 원소만 작성한다.

    정답·해설 보기

    모범답안

    한국, 중국, 베트남, 홍콩, 태국 (순서 무관)

    키워드: 한국 중국 베트남 홍콩 태국, 한국, 중국, 베트남, 홍콩, 태국, 베트남 중국 한국 홍콩 태국

    해설

    set은 중복을 허용하지 않고 순서가 보장되지 않는다. 초기 원소는 한국, 중국, 일본이고, 베트남을 추가한 뒤 중국 추가는 중복이라 변화가 없다. 일본을 제거하고 홍콩, 한국, 태국을 추가하면 한국은 이미 있어 중복 처리된다. 따라서 최종 원소는 한국, 중국, 베트남, 홍콩, 태국이며 출력 순서는 실행 환경에 따라 달라질 수 있다.

  16. 문제 16

    단답형

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

    [성적]

    순번과목이름점수
    1데이터베이스89
    2데이터베이스92
    3네트워크88
    4소프트웨어91
    5네트워크89
    6소프트웨어85

    [결과]

    과목이름최소점수최대점수
    데이터베이스8992

    [조건]

    • WHERE를 사용하지 말아야 한다.
    • SELECT절에 별칭을 사용하여 작성해야 한다.
    • SQL 구문 마지막에 세미콜론 생략 가능하다.
    • 반드시 GROUP BY와 HAVING을 사용해야 한다.
    • 집계함수를 사용해야 한다.
    정답·해설 보기

    모범답안

    SELECT 과목이름, MIN(점수) AS 최소점수, MAX(점수) AS 최대점수 FROM 성적 GROUP BY 과목이름 HAVING AVG(점수) >= 90

    키워드: SELECT 과목이름, MIN(점수) AS 최소점수, MAX(점수) AS 최대점수 FROM 성적 GROUP BY 과목이름 HAVING AVG(점수) >= 90, SELECT 과목이름, MIN(점수) AS 최소점수, MAX(점수) AS 최대점수 FROM 성적 GROUP BY 과목이름 HAVING AVG(점수) >= 90;

    해설

    과목이름으로 GROUP BY 한 뒤 그룹별 조건은 HAVING 으로 거른다. MIN(점수), MAX(점수) 집계함수로 최소/최대 점수를 구하고 별칭을 붙이며, 평균 90 이상 조건은 HAVING AVG(점수) >= 90 으로 작성한다. WHERE 는 그룹 조건에 쓸 수 없으므로 사용하지 않는다.

  17. 문제 17

    단답형

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

    정답·해설 보기

    모범답안

    Vehicle name: Spark

    키워드: Vehicle name: Spark, Vehicle name:Spark

    해설

    Car 생성자에서 name 과 super.name 에 "Spark" 를 대입한다. obj.getName() 은 인자가 없는 getName() 을 호출하는데 이 메서드는 Vehicle 에만 정의되어 있고 Car 는 오버라이딩하지 않았으므로 Vehicle 의 메서드가 실행되어 "Vehicle name: " + name(Spark) = "Vehicle name: Spark" 가 출력된다.

  18. 문제 18

    단답형

    다음은 스키마와 관련된 내용이다. 각 괄호 안에 알맞는 답을 작성하시오. (보기가 있습니다.)

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

    모범답안

    1. 외부 2. 개념 3. 내부

    키워드: 1. 외부 2. 개념 3. 내부, 외부 개념 내부, 외부 스키마 개념 스키마 내부 스키마

    해설

    사용자/응용 프로그래머 개인 입장의 논리 구조(서브 스키마)는 외부 스키마이다. 조직 전체의 통합 논리 구조로 하나만 존재하는 것은 개념 스키마이다. 물리적 저장 방법과 레코드 물리 구조를 정의하는 것은 내부 스키마이다.

  19. 문제 19

    단답형

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

    POINTER = FALSE 1 X > K ? 2 POINTER = TRUE 3 X = X + 2 4 CALL SUB(X, POINTER, RESULT) 5 RESULT > 1 ? 6 PRINT RESULT 7 YES NO YES
    정답·해설 보기

    모범답안

    1234561, 124567 or 1234567, 124561

    키워드: 1234561, 124567, 1234567, 124561

    해설

    분기(결정) 커버리지는 각 분기(조건)의 참/거짓을 모두 한 번씩 실행하면 된다. 2번 분기(X>K)의 YES/NO 와 6번 분기(RESULT>1)의 YES/NO 를 각각 커버하는 두 경로를 제시하면 된다. 예를 들어 1→2→3→4→5→6→1(YES경로) 과 1→2→4→5→6→7(NO경로) 처럼 두 테스트 케이스로 모든 분기를 만족한다.

  20. 문제 20

    단답형

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

    정답·해설 보기

    모범답안

    500

    키워드: 500

    해설

    Child() 는 this(5000) 으로 Child(int x) 를 호출하고, Child(int) 는 암묵적으로 super()(인자 없는 Parent())를 먼저 호출한다. Parent() 는 this(500) 으로 Parent(int) 를 호출해 Parent 의 x 를 500 으로 설정한다. getX() 는 Parent 에 정의되어 Parent 의 x 를 반환하는데, Child 의 x(5000)는 별개의 필드(은닉)이므로 getX() 는 Parent 의 x 인 500 을 출력한다.

이번엔 직접 풀어보세요

타이머와 자동 채점이 켜진 실제 시험 환경으로 응시할 수 있습니다.

정처기 실기 다른 회차 기출 복원

함께 읽으면 좋은 글