정보처리기사 실기 · 필답형 · 2020년 1회 ~ 2026년 2회

정처기 실기 쪽집게또 나온다!

21회분 기출 420문항을 주제별로 묶고, 두 번 이상 나온 문제를 빨간 동그라미로 표시했습니다. 위의 정답 가리기를 켜면 답이 흐려지고, 누르면 하나씩 보입니다.

21회분 420문항 8~9문항 / 회 재출제 (최근 4회) 12문항 맞히면 합격 (60점)
01 · 출제 경향

한눈에 보는 출제 패턴

8~9 / 20

같은 문제가 그대로 돌아온다

2025년 2회부터 2026년 2회까지, 매 회차 20문항 중 8~9문항이 예전 기출과 정답까지 같았습니다. 주로 2~6년 전 문제가 다시 나옵니다. 합격선이 12문항이니 기출만 확실히 해도 절반 이상입니다.

3 → 9

코드 문제가 크게 늘었다

Java·C·Python 출력값 문제가 2020년엔 회당 3~5문항이었는데 2023~2025년엔 8~9문항입니다. 2026년도 7문항. 전체의 40% 가까이가 코드입니다.

0

서술형은 사라졌다

"서술하시오" 문제는 2022년 1회(삭제 이상)가 마지막입니다. 지금은 용어 단답, 보기 고르기, 빈칸 채우기, 출력값 쓰기뿐이라 정확한 용어와 철자가 중요합니다.

회차별 코드 문항 수 (Java · C · Python)

막대에 마우스를 올리면 언어별 개수가 나옵니다. 누적: Java 57 · C 58 · Python 23문항

표로 보기
회차JavaCPython합계
02 · 핵심

또 나온 문제

같은 문제 또는 같은 개념이 2번 이상 출제된 것만 모았습니다. 왼쪽 숫자는 출제 횟수(빨간 동그라미 = 3회 이상), 빨간 회차는 2025~2026년 출제입니다. 회차를 누르면 그 번호의 문제를 바로 풀 수 있고, 문제·해설 보기를 누르면 회차별 정답과 해설이 펼쳐집니다.

회차 표기: 20-3 = 2020년 3회

    03 · 매회 7~9문항

    코드 문제 함정 패턴

    코드는 매번 조금씩 바뀌지만 노리는 함정은 같습니다. 짧은 예시로 정리했습니다.

    Java 57문항

    메서드는 객체 따라, 필드는 변수 타입 따라

    Base a = new Derivate(); // Base.x=3, Derivate.x=7
    a.getX();  // 오버라이딩 → Derivate 것 실행
    a.x;       // 필드 → Base의 x = 3

    static 메서드도 변수 타입(부모) 것이 실행됩니다.

    24-3 → 52 · 25-2 → 5P

    부모 메서드 안에서 부른 메서드도 자식 것

    부모의 paint()가 draw()를 부르면, 자식이 draw()를 오버라이딩했을 때 자식 draw()가 실행됩니다.

    23-3 → BDCDD

    오버로딩은 컴파일 때, 선언 타입 기준

    A 타입 변수로 부르면 A에 있는 시그니처만 후보입니다. 자식에만 있는 f(String)은 선택되지 않습니다. 제네릭 T는 Object로 취급됩니다.

    26-1 → 2 · 24-3 → B0

    생성자: super()가 항상 먼저

    자식 생성자는 첫 줄에서 부모 생성자를 부릅니다. this(…)로 다른 생성자에 넘기는 흐름까지 따라가세요. 부모 생성자 안에서 호출한 메서드도 오버라이딩된 자식 것입니다.

    23-1 → 500 · 25-1 → 54 · 24-1 실행 순서 → 6 3 1 7 2

    == 는 주소, equals는 값

    String s1 = "A", s2 = "A";
    String s3 = new String("A");
    s1 == s2      // true (같은 리터럴)
    s1 == s3      // false
    s1.equals(s3) // true
    23-2 → truefalsetruetrue · 24-2 배열 == → NNN

    예외: 맞는 catch 하나 + finally 항상

    위에서부터 처음 맞는 catch 하나만 실행하고, finally는 무조건 실행합니다.

    24-3 → 101 · 25-1 → 출력1출력5

    문자열 + 숫자는 왼쪽부터

    9 + 2 + "2" + "3"  // 11 + "2" + "3"
    26-1 → 1123

    switch에 break가 없으면 끝까지

    맞는 case부터 아래 case를 전부 실행합니다. C도 같습니다.

    20-1 · 22-2 → -8 · 23-2(C) → BCD

    C 58문항

    *p+n 과 *(p+n) 구분

    char *p = "KOREA";
    p+3      // "EA"   (문자열)
    *(p+3)   // 'E'
    *p+2     // 'K'+2 = 'M'
    20-4 · 23-3

    포인터 배열과 이중 포인터

    int *arr[3] = {&a, &b, &c}; // 12, 24, 36
    *arr[1] + **arr + 1        // 24 + 12 + 1
    21-3 → 37 · 24-2 · 24-3 · 25-2

    구조체 포인터와 연결 리스트

    p->x 는 (*p).x, p++ 는 다음 배열 원소. 연결 리스트는 next를 손으로 따라가며 그려 보세요. 앞에 끼워 넣는 리스트는 순서가 뒤집힙니다.

    21-1 · 21-3 · 24-2 · 24-3 · 25-1 · 25-2 · 25-3 · 26-2 (8회!)

    값 전달은 원본이 안 바뀐다

    void swap(int a, int b) {...} // 복사본만 바뀜
    void f1(int *i) { *i = 50; }  // 원본이 바뀜
    24-2 · 26-2 → 50, 50, 2, 8

    static 지역 변수는 값이 남는다

    함수가 끝나도 0으로 돌아가지 않습니다. 호출할 때마다 2씩 늘면 2+4+6+8.

    24-3 → 20

    비트·시프트와 연산자 우선순위

    29 << 2         // 29 × 4 = 116
    z & z >> 1      // >> 가 & 보다 먼저
    24-1 → 151 · 25-1 · 25-3 → 0

    단골 알고리즘

    팩토리얼 재귀, 소수 판별, 완전수(약수 합), 버블·선택 정렬, 스택·큐, 문자열 뒤집기, 2진수↔10진수 변환.

    22-1 · 22-3 · 23-1 · 23-2 · 23-3 · 24-1 · 25-2

    Python 23문항

    슬라이싱은 끝 인덱스 미포함

    a = "engineer information processing"
    a[:3]   # 'eng'
    a[4:6]  # 'ne'
    list(range(10))[::-2]  # 9 7 5 3 1
    22-2 · 23-2 · 26-2 · 26-1 → 9A7A5A3A1A

    set은 중복 X, 순서 X

    add는 이미 있으면 무시, remove는 삭제, update는 여러 개 추가. 답은 원소 집합으로 씁니다.

    20-2 · 23-1

    얕은 복사: m[:]는 바깥만 복사

    m = [[1],[2],[3],[4]]
    b = m[:]          # 안쪽 리스트는 공유
    b[1] += b[0]      # m[1]도 [2, 1]이 됨
    26-1 → 10

    리스트 메서드

    extend는 원소를 풀어서 추가, append는 통째로 하나 추가. pop은 꺼내고 삭제, reverse는 순서 뒤집기.

    22-1

    출력 표기 그대로

    print(a == b)는 False(첫 글자 대문자). split(), join(), "%s" 포맷, f-string, type(), enumerate도 나왔습니다.

    21-3 · 22-2 · 23-3 · 24-3 · 25-3
    04 · 빈칸 채우기 단골

    SQL 키워드

    SQL은 거의 매회 1~3문항. 빈칸에 들어갔던 키워드와 실행 결과를 묻는 형태가 대부분입니다. 키워드마다 예시와 실행 결과는 SQL 사전에 있어요.

    05 · 예상

    한 번만 나온 문제 · 다음 차례 후보

    최근 회차는 2~6년 전 문제를 다시 냅니다. 아래는 아직 한 번만 나온 것들이라, 다음에 돌아올 가능성이 있는 후보입니다. 출제 경향에서 본 추정이지 보장은 아닙니다.

    06 · 추천

    공부 순서

    1. 또 나온 문제 목록을 정답 가리기를 켜고 두 바퀴. 동그라미 3회 이상부터.
    2. 코드 함정 패턴을 익힌 뒤 기출 풀기에서 회차별 코드 문제를 손으로 직접 따라가며 풀기. 매회 7~9문항이라 여기서 합격이 갈립니다.
    3. 계산 문제 연습: 서브넷(7회), 스케줄링 평균 대기시간(5회), 페이지 교체 부재 횟수(2회). 방식만 알면 매번 점수.
    4. SQL 키워드는 직접 써 보기. 철자 하나 틀려도 오답입니다.
    5. 남는 시간에 다음 차례 후보의 용어를 영어 약자까지 외우기.

    정답은 복원 기출 기준이라 실제 시험지와 표현이 조금 다를 수 있고, 일부 문항은 정답을 두고 의견이 갈립니다.