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

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

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

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


📋 회차 정보

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

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

📊 출제 영역 한눈에

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

과목문항 수비중
C언어6문항30%
Java2문항10%
SQL2문항10%
소프트웨어 설계3문항15%
보안2문항10%
데이터베이스 이론2문항10%
네트워크/OS2문항10%
Python1문항5%

💡 학습 팁

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

📝 기출문제 전체 보기

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

  1. 문제 1

    단답형

    다음은 C언어 코드의 문제이다. 보기의 조건에 맞도록 괄호안에 알맞은 코드를 작성하시오.

    [보기] 입력값이 5, 4, 3, 2, 1 순서로 주어질 경우 출력값이 43215로 출력되어야 한다.

    정답·해설 보기

    모범답안

    n[(i+1) % 5]

    키워드: n[(i+1) % 5], n[(i+1)%5]

    해설

    입력값 5, 4, 3, 2, 1 을 한 칸씩 앞으로 당겨 4, 3, 2, 1, 5 로 출력해야 한다. i 가 0일 때 n[1], 1일 때 n[2], ..., 4일 때 다시 n[0] 이 되어야 하므로 인덱스를 (i+1) % 5 로 순환시킨다. 따라서 빈칸은 n[(i+1) % 5] 이다.

  2. 문제 2

    단답형

    다음은 JAVA 코드 문제이다. 가지고 있는 돈이 총 4620원일 경우 1000원, 500원, 100원, 10원의 지폐 및 동전을 이용하여 보기의 조건에 맞춰 괄호안을 작성하시오.

    [보기] 아래 주어진 항목들을 갖고 괄호안의 코드를 작성

    • 사용 가능한 변수 : m
    • 사용 가능한 연산자 : / , %
    • 사용 가능한 괄호 : ( , )
    • 사용 가능한 정수 : 1000, 500, 100, 10
    정답·해설 보기

    모범답안

    a : m / 1000 b : (m % 1000) / 500 c : (m % 500) / 100 d : (m % 100) / 10

    키워드: m / 1000, (m % 1000) / 500, (m % 500) / 100, (m % 100) / 10

    해설

    4620원을 큰 단위부터 나눠 장수와 개수를 구한다. 천원은 4620/1000 = 4, 오백원은 천원을 제외한 나머지 620원을 기준으로 (4620%1000)/500 = 1, 백원은 500원 단위까지 제외한 나머지를 기준으로 (4620%500)/100 = 1, 십원은 100원 단위까지 제외한 나머지를 기준으로 (4620%100)/10 = 2 이다.

  3. 문제 3

    단답형

    다음은 c언어의 코드이다. 보기의 조건에 맞추어 알맞은 출력값을 작성하시오.

    [보기] 입력값은 홍길동, 김철수, 박영희 순서로 주어진다.

    정답·해설 보기

    모범답안

    박영희 박영희 박영희

    키워드: 박영희 박영희 박영희, 박영희 박영희 박영희

    해설

    test() 는 전역 배열 n 의 주소를 반환하므로 test1, test2, test3 는 모두 같은 주소(n)를 가리킨다. 입력이 홍길동→김철수→박영희 순으로 들어오며 n 은 매번 덮어써진다. 마지막에 저장된 "박영희" 를 세 포인터가 모두 가리키므로 박영희가 세 번 출력된다.

  4. 문제 4

    단답형

    다음은 테이블에 데이터를 삽입하기 위한 과정이다. 보기의 조건식에 맞게 데이터 삽입을 위한 SQL문을 작성하시오.

    [결과값 — 학생]

    학번이름학년전공전화번호
    9830287뉴진스3경영학개론010-1234-1234

    [조건]

    • 문자열일 경우 작은따옴표로 묶는다.
    정답·해설 보기

    모범답안

    INSERT INTO 학생(학번,이름,학년,전공,전화번호) VALUES(9830287,'뉴진스',3,'경영학개론','010-1234-1234');

    키워드: INSERT INTO 학생(학번,이름,학년,전공,전화번호) VALUES(9830287,'뉴진스',3,'경영학개론','010-1234-1234');, INSERT INTO 학생 (학번, 이름, 학년, 전공, 전화번호) VALUES (9830287, '뉴진스', 3, '경영학개론', '010-1234-1234');

    해설

    테이블에 한 행을 추가하려면 INSERT INTO 학생(컬럼목록) VALUES(값목록) 구문을 사용한다. 정수형 학번(9830287)과 학년(3)은 그대로 작성하고, 문자열인 이름·전공·전화번호는 작은따옴표로 묶는다.

  5. 문제 5

    단답형

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

    정답·해설 보기

    모범답안

    BCD

    키워드: BCD

    해설

    sum = 73+95+82 = 250 이고 sum/30 = 8(정수 나눗셈) 이다. switch 는 case 8 로 진입한 뒤 break 가 없어 fall-through 로 이후 코드가 계속 실행된다. case 8에서 "B", case 7은 출력문 없이 지나가고 case 6에서 "C", default에서 "D" 가 출력되어 BCD 가 된다.

  6. 문제 6

    단답형

    다음은 테스트 커버리지에 대한 내용이다. 내용을 보고 보기에 알맞는 기호를 고르시오.

    • 프로그램 내에 있는 결정포인트 내의 모든 각 개별 조건식에 대한 모든 가능한 결과(참/거짓)에 대해 적어도 한번 수행한다.
    • 소프트웨어 테스트 수행시 소스코드를 어느 수준까지 수행하였는가를 나타내는 기준을 나타낸다.
    • 실제 업무에서는 다양한 툴을 사용하여 테스팅 수행한다.
    • True/False에 충분한 영향을 줄 수 없는 경우가 발생 가능한 한계점을 지닌다.

    [보기] ㄱ. 구문 커버리지 ㄴ. 경로 커버리지 ㄷ. 조건/결정 커버리지 ㄹ. 변경 조건/결정 커버리지 ㅂ. 다중 조건 커버리지 ㅅ. 결정 커버리지 ㅇ. 조건 커버리지

    정답·해설 보기

    모범답안

    ㅇ (조건 커버리지)

    키워드: ㅇ, 조건 커버리지, Condition Coverage

    해설

    결정포인트 내 각 개별 조건식이 참과 거짓 결과를 모두 적어도 한 번 갖도록 하는 커버리지는 조건 커버리지(Condition Coverage)이다. 개별 조건만 보기 때문에 전체 결정 결과(True/False)에 충분한 영향을 주지 못할 수 있다는 한계도 설명과 일치한다.

  7. 문제 7

    단답형

    다음은 소스코드의 알맞은 출력을 작성하시오.

    정답·해설 보기

    모범답안

    505

    키워드: 505

    해설

    1부터 2023까지 중 4의 배수(i%4==0)의 개수를 센다. 4의 배수는 4, 8, ..., 2020 이며 그 개수는 2020/4 = 505 이다. 따라서 505가 출력된다.

  8. 문제 8

    단답형

    다음 내용에 알맞는 답을 작성하시오.

    • 소프트웨어에서 워터마크 삭제 등과 같이 소프트웨어가 불법으로 변경(unauthorized modifications)되었을 경우, 그 소프트웨어가 정상 수행되지 않게 하는 기법이다.
    • 소프트웨어 변조 공격을 방어하기 위해 프로그램에 변조검증코드(tamper-proofing code)를 삽입하는 것도 한 방법이다.
    • 변조검증코드의 용도는 첫째 프로그램이 변경되었는지를 탐지하는 것이고, 둘째는 변조가 탐지되었다면 프로그램이 실행되지 않게 한다.
    • 소프트웨어의 위변조 방지 역공학 기술의 일종으로 디지털 콘텐츠의 관련 산업이나 전자상거래 또는 보호해야 할 소프트웨어가 있는 다양한 산업 분야에 적용된다.
    정답·해설 보기

    모범답안

    템퍼프루핑 (Tamper Proofing)

    키워드: 템퍼프루핑, Tamper Proofing, Tamper-Proofing, 탬퍼프루핑

    해설

    프로그램에 변조검증코드(tamper-proofing code)를 삽입해 불법 변경을 탐지하고, 변조가 탐지되면 소프트웨어가 정상 동작하지 않게 만드는 위변조 방지 기법은 템퍼프루핑(Tamper Proofing)이다.

  9. 문제 9

    단답형

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

    정답·해설 보기

    모범답안

    213465

    키워드: 213465

    해설

    into 는 push, take 는 pop 으로 동작하는 스택이다. 초기 into(5), into(2) 후 스택은 [5,2] 이다. take()=2 출력, into(4), into(1) 후 take()=1 출력, into(3) 후 take()=3, take()=4 출력, into(6) 후 take()=6, take()=5 출력된다. 출력 순서는 2,1,3,4,6,5 이므로 213465 이다.

  10. 문제 10

    단답형

    데이터베이스 설계 순서에 관한 내용이다. 아래 빈 단계(원)에 보기를 이용하여 순서대로 알맞은 내용을 작성하시오.

    ( 1 ) ( 2 ) ( 3 ) ( 4 ) ( 5 )

    [보기] 구현, 요구조건 분석, 개념적 설계, 물리적 설계, 논리적 설계

    정답·해설 보기

    모범답안

    (1) 요구조건 분석 (2) 개념적 설계 (3) 논리적 설계 (4) 물리적 설계 (5) 구현

    키워드: 요구조건 분석 개념적 설계 논리적 설계 물리적 설계 구현, (1) 요구조건 분석 (2) 개념적 설계 (3) 논리적 설계 (4) 물리적 설계 (5) 구현

    해설

    데이터베이스 설계는 요구조건 분석 → 개념적 설계(E-R 모델 등) → 논리적 설계(테이블·정규화) → 물리적 설계(저장 구조·인덱스) → 구현(DDL 생성) 순으로 진행된다.

  11. 문제 11

    단답형

    다음은 디자인 패턴에 관한 문제이다. 보기에서 알맞는 답을 작성하시오.

    • 인스턴스 생성 요청이 여러 차례 발생하더라도 실제로 생성되는 객체는 하나이며, 이후에는 최초 생성된 객체를 반환한다.
    • 전역적으로 하나의 객체만 사용해야 하는 상황에서 사용한다.
    • 호스트 객체의 내부 상태에 접근할 수 있는 방법을 제공하여 호스트 객체에 연산을 추가할 수 있도록 한다.
    • 이 패턴은 보통 합성 구조의 원소들과 상호 작용하는 데 사용되며, 기존 코드를 변경하지 않고 새로운 기능을 추가하는 방법이다.

    [보기]

    생성패턴구조패턴행위패턴
    SingletonAdapterObserver
    Factory MethodBridgeStrategy
    BuilderDecoratorVisitor
    정답·해설 보기

    모범답안

    1. Singleton 2. Visitor

    키워드: Singleton Visitor, 싱글톤 비지터, 싱글톤 방문자, 1. Singleton 2. Visitor

    해설

    1번은 인스턴스 생성 요청이 여러 번 발생해도 단 하나의 객체만 생성·반환하는 생성 패턴이므로 Singleton 이다. 2번은 객체 구조를 변경하지 않고 방문자(Visitor)를 통해 새로운 연산을 추가하는 행위 패턴이므로 Visitor 이다.

  12. 문제 12

    단답형

    다음 내용에서 설명하는 문제에 대해 보기에 알맞는 답을 골라 작성하시오.

    ( 1 ) Code는 데이터 전송 시 1비트의 에러를 정정할 수 있는 오류정정부호의 일종으로, 미국의 Bell 연구소의 Hamming에 의해 고안되었다. 선형블록부호 및 순회부호에 속한다.

    ( 2 )은/는 송신측이 전송할 문자나 프레임에 부가적 정보(Redundancy)를 첨가하여 전송하고 수신측이 이 부가적 정보를 이용하여 에러검출 및 에러정정을 하는 방식이다.

    ( 3 )은/는 데이터 전송 과정에서 오류가 발생하면 송신 측에 재전송을 요구하는 방식이다. 오류를 검출하는 방법은 Parity검사와 CRC, 블록 합 검사 등이 있다.

    ( 4 )은/는 데이터가 저장장치 내의 한 장소에서 다른 장소로 이동되거나, 컴퓨터들 간에 전송될 때, 데이터가 유실 또는 손상되었는지 여부를 점검하는 기술과 관련된 용어이다.

    ( 5 )은/는 네트워크 등을 통하여 데이터를 전송할 때 전송된 데이터에 오류가 있는지를 확인하기 위한 체크값을 결정하는 방식을 말한다.

    [보기] EAC, FEC, hamming, CRC, PDS, parity, BEC

    정답·해설 보기

    모범답안

    1. hamming 2. FEC 3. BEC 4. parity 5. CRC

    키워드: hamming FEC BEC parity CRC, 1. hamming 2. FEC 3. BEC 4. parity 5. CRC

    해설

    (1) 1비트 오류를 정정하며 Hamming 이 고안한 부호는 hamming code 이다. (2) 수신측이 재전송 없이 스스로 오류를 검출·정정하는 전진 오류 정정 방식은 FEC(Forward Error Correction)이다. (3) 오류 발생 시 송신측에 재전송을 요구하는 후진 오류 정정 방식은 BEC(Backward Error Correction)이다. (4) 패리티 검사로 데이터 유실·손상을 점검하는 것은 parity 이다. (5) 체크값으로 오류를 확인하는 순환 중복 검사는 CRC 이다.

  13. 문제 13

    단답형

    다음은 HDLC 프로토콜에 대한 설명이다. 보기 안에 알맞는 답을 골라 작성하시오.

    ( 1 ) 프레임은 Seq, Next, P/F의 필드를 가진다. 또한 맨 처음 비트를 0으로 가진다. Seq는 송신용 순서번호를, Next는 응답용 순서번호를 가진다. P/F는 Poll/Final 비트를 의미한다.

    ( 2 ) 프레임은 맨 앞의 필드가 1로 되어 있어 정보 프레임이 아님을 나타내고 다음 비트가 0이다. Type은 2비트로 4가지 종류로 나뉜다. 데이터를 보내는 역할이 아니라 응답 기능을 수행하므로 Seq는 필요 없고 Next만 존재한다.

    ( 3 ) 프레임은 순서 번호가 없는 프레임이다. 첫 번째·두 번째 비트가 모두 1로 설정된다. Type 2비트와 Modifier 3비트를 합쳐 5비트로 종류를 나눈다.

    ( 4 )은/는 두 호스트 모두 혼합국으로 동작한다. 양쪽에서 명령과 응답을 전송할 수 있다.

    ( 5 )은/는 불균형 모드로 주국의 허락 없이 종국에서 데이터를 전송할 수 있다.

    [보기] ㄱ. 연결제어 ㄴ. 감독 ㄷ. 정보 ㄹ. 양방향 응답 ㅁ. 익명 ㅂ. 비번호 ㅅ. 릴레이 ㅇ. 동기균형 ㅈ. 동기응답 ㅊ. 비동기균형 ㅋ. 비동기응답

    정답·해설 보기

    모범답안

    1. ㄷ 2. ㄴ 3. ㅂ 4. ㅊ 5. ㅋ

    키워드: ㄷ ㄴ ㅂ ㅊ ㅋ, ㄷㄴㅂㅊㅋ, 정보 감독 비번호 비동기균형 비동기응답

    해설

    (1) 첫 비트가 0이고 Seq/Next를 가지는 프레임은 정보(Information) 프레임(ㄷ)이다. (2) 첫 비트 1, 다음 비트 0이며 응답 기능을 수행하는 프레임은 감독(Supervisory) 프레임(ㄴ)이다. (3) 첫·둘째 비트가 모두 1이고 순서번호가 없는 프레임은 비번호(Unnumbered) 프레임(ㅂ)이다. (4) 두 호스트가 모두 혼합국으로 동작하는 모드는 비동기균형 모드 ABM(ㅊ)이다. (5) 불균형 모드에서 종국이 주국 허락 없이 전송할 수 있는 모드는 비동기응답 모드 ARM(ㅋ)이다.

  14. 문제 14

    단답형

    다음은 자바에 대한 문제이다. 알맞은 출력값을 작성하시오.

    정답·해설 보기

    모범답안

    true false true true

    키워드: true false true true, true false true true

    해설

    str1, str2 는 같은 문자열 리터럴이므로 String pool 의 동일 객체를 참조하여 str1==str2 는 true 이다. str3 은 new String 으로 생성된 별도 객체이므로 str1==str3 은 참조 비교에서 false 이다. equals 는 문자열 값을 비교하므로 str1.equals(str3), str2.equals(str3) 은 모두 true 이다.

  15. 문제 15

    단답형

    다음 보기는 암호화 알고리즘에 대한 내용이다. 대칭키와 비대칭키에 해당하는 보기의 내용을 작성하시오.

    대칭키 : ( ) 비대칭키 : ( )

    [보기] DES, RSA, AES, ECC, ARIA, SEED

    정답·해설 보기

    모범답안

    대칭키: DES, AES, ARIA, SEED 비대칭키: RSA, ECC

    키워드: 대칭키 DES AES ARIA SEED 비대칭키 RSA ECC, DES AES ARIA SEED / RSA ECC

    해설

    암·복호화에 같은 키를 쓰는 대칭키 알고리즘은 DES, AES, ARIA, SEED 이다. 공개키와 개인키 쌍을 사용하는 비대칭키 알고리즘은 RSA, ECC 이다.

  16. 문제 16

    단답형

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

    • ( )(이)란 임의의 크기를 가진 데이터(Key)를 고정된 크기의 데이터(Value)로 변화시켜 저장하는 것이다.
    • 키에 대한 ( ) 값을 사용하여 값을 저장하고 키-값 쌍의 갯수에 따라 동적으로 크기가 증가한다.
    • ( ) 값 자체를 index로 사용하기 때문에 평균 시간복잡도가 O(1)로 매우 빠르다.
    • ( ) 함수는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수이다.
    • ( ) 함수는 큰 파일에서 중복되는 레코드를 찾을 수 있기 때문에 데이터베이스 검색이나 테이블 검색의 속도를 가속할 수 있다.
    정답·해설 보기

    모범답안

    해시 (해싱, Hash)

    키워드: 해시, 해싱, hash, Hash, Hashing

    해설

    임의 크기의 Key 를 고정 크기의 Value 로 매핑해 저장하고, 그 값을 인덱스로 사용해 평균 O(1) 시간에 접근하는 기법과 함수는 해시(Hash, 해싱)이다.

  17. 문제 17

    단답형

    다음 보기의 SQL문에서 괄호안에 알맞는 단어를 작성하시오.

    • 학생 뷰를 참조하는 다른 VIEW나 제약 조건까지 모두 삭제되어야 한다.
    정답·해설 보기

    모범답안

    CASCADE

    키워드: CASCADE, cascade

    해설

    DROP VIEW 시 해당 뷰를 참조하는 다른 뷰나 제약 조건까지 연쇄적으로 함께 삭제하려면 CASCADE 옵션을 사용한다. 반대로 참조가 있으면 삭제를 막는 옵션은 RESTRICT 이다.

  18. 문제 18

    단답형

    다음 코드는 선택정렬 구현에 관한 문제이다. 오름차순으로 정렬할 경우 빈칸에 알맞는 연산자를 보기에서 골라 작성하시오.

    [보기] <, <=, >=, >, ==, /, %

    정답·해설 보기

    모범답안

    >

    키워드: >

    해설

    오름차순 정렬에서는 앞쪽 원소 E[i] 가 뒤쪽 원소 E[j] 보다 크면 두 값을 교환해 작은 값이 앞으로 오게 한다. 따라서 조건식은 E[i] > E[j] 이고, 빈칸의 비교 연산자는 > 이다.

  19. 문제 19

    단답형

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

    정답·해설 보기

    모범답안

    engneing

    키워드: engneing

    해설

    문자열 a 를 슬라이싱한다. b = a[:3] = "eng" 이고, c = a[4:6] = 인덱스 4, 5 의 "ne" 이다. d = a[28:] 은 인덱스 28부터 끝까지인 "ing" 이다. 이들을 이어 붙이면 "eng" + "ne" + "ing" = "engneing" 이 출력된다.

  20. 문제 20

    단답형

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

    • 하향식 테스트 시 상위 모듈은 존재하나 하위 모듈이 없는 경우의 테스트를 위해 임시 제공되는 모듈이다.
    • 특별한 목적의 소프트웨어를 구현하는 것으로 컴포넌트를 개발하거나 테스트할 때 사용된다.
    • 서버-클라이언트 구조에서 클라이언트만 구현된 상태로 테스트를 해보고 싶을 때 단순히 값만 넘겨주는 가상의 서버를 만들어서 테스트할 수 있다.
    • 상향식 테스트 시 상위 모듈 없이 하위 모듈이 존재할 때 하위 모듈 구동 시 자료 입출력을 제어하기 위한 제어 모듈(소프트웨어)이다.
    • 서버-클라이언트 구조에서 서버만 구현된 상태로 테스트를 해보고 싶을 때 서버를 호출하는 가상의 클라이언트를 만들어서 테스트할 수 있다.
    정답·해설 보기

    모범답안

    1. 스텁 (Stub) 2. 드라이버 (Driver)

    키워드: 스텁 드라이버, Stub Driver, 1. 스텁 2. 드라이버, 1. Stub 2. Driver

    해설

    1번은 하향식 통합 테스트에서 아직 없는 하위 모듈을 대신해 호출 결과를 제공하는 가상 모듈이므로 스텁(Stub)이다. 2번은 상향식 통합 테스트에서 아직 없는 상위 모듈을 대신해 하위 모듈을 호출·구동하는 제어 모듈이므로 드라이버(Driver)이다.

이번엔 직접 풀어보세요

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

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

함께 읽으면 좋은 글