정보처리기사 필기2026년 4월 30일· 11 min read· 조회 2

정처기 필기 4과목 프로그래밍 언어 활용 비전공 가이드

비전공자가 정처기 필기에서 가장 많이 떨어지는 이유는 4과목 프로그래밍 언어 활용. C·Java·Python 코드 문제를 객관식에서 점수로 만드는 단계별 공략법을 정리했습니다.

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


"객관식인데 왜 이렇게 어려워요?"

정처기 필기 비전공자 후기 보면 거의 항상 같은 패턴이에요. 1·2·5과목은 어찌어찌 60–70점 맞췄는데, 4과목에서 30점대가 나와서 과락으로 떨어졌다는 이야기.

정처기 필기는 매 과목 40점 미만이면 전체 평균과 무관하게 탈락이에요. 비전공자가 4과목 8문제(40점) 이상을 만드는 게 합격 분기점입니다.

문제는 4과목이 객관식인데도 사실상 코드를 한 줄씩 머리로 실행시켜야 풀린다는 거예요. 보기 4개 중에 결과값을 고르는 문제가 대부분이라, 코드를 읽지 못하면 25% 찍기로 가는 수밖에 없습니다.


4과목 출제 비중 (최근 3개년 평균)

영역비중 (20문제 중)난이도
C언어 (포인터·배열·구조체)6–7문제
Java (상속·오버라이딩·예외)4–5문제중상
Python (리스트·딕셔너리·슬라이싱)3–4문제
스크립트 언어·웹 언어 개념2–3문제하 (암기)
라이브러리·프레임워크 용어2–3문제하 (암기)

C가 가장 비중도 크고 어려워요. 비전공자가 C 포인터에서 무너지면 4과목 자체가 무너집니다. 반대로 C에서 4문제만 건져도 4과목 과락은 거의 피해요. 나머지는 암기 영역으로 채울 수 있거든요.


비전공자가 4과목 12점 만드는 3단계

1단계 (1주차): 코드 읽는 법만 익히기

C·Java·Python 문법을 외우려고 하면 망해요. 비전공자는 코드가 위에서 아래로 흘러간다는 감각부터 잡는 게 먼저예요.

이 정도만 알면 됩니다.

  • 변수 = 이름표 붙은 값. int a = 5; 는 a라는 이름표에 5를 넣음
  • for (int i=0; i<10; i++) 는 0부터 9까지 i가 바뀌면서 10번 반복
  • if (조건) { ... } else { ... } 는 조건이 참이면 위쪽, 아니면 아래쪽 실행
  • 함수 호출 printf("a=%d", a); 는 a 값을 빈칸에 넣어서 출력

문제 푸는 게 아니라 읽기 연습이라고 생각하세요. 기출 코드 5개만 펼쳐놓고 한 줄씩 "이거는 i가 0이고", "지금은 i가 1이고" 종이에 적어가면서 따라가는 거예요. 처음엔 1문제에 20분 걸려요. 정상입니다.

2단계 (2–3주차): 언어별 함정 패턴 외우기

기출 보면 언어별로 출제되는 함정이 거의 정해져 있어요. 새로운 코드처럼 보여도 결국 같은 패턴 변형입니다.

C언어 단골 함정 5개

  1. 포인터 vs 변수 값

    int a = 10;
    int *p = &a;
    *p = 20;
    printf("%d", a);  // 20
    

    *p = 20 이 a를 바꾼다는 게 핵심.

  2. 배열 인덱스 + 포인터 연산

    int arr[] = {1, 2, 3, 4};
    printf("%d", *(arr + 2));  // 3
    

    *(arr + n) = arr[n].

  3. 2차원 배열 접근 arr[2][3] 같은 형태에서 행·열 인덱스 헷갈림.

  4. 구조체 포인터 멤버 접근 p->name vs (*p).name (둘 다 같은 의미).

  5. 재귀 함수 결과값 추적 factorial(4) 같은 거. 종이에 콜스택 그려야 풀려요.

Java 단골 함정 3개

  1. 오버라이딩 vs 오버로딩 — 부모 클래스 메서드를 자식이 재정의(오버라이딩) vs 같은 이름 다른 매개변수(오버로딩)
  2. 상속 + 생성자 호출 순서 — 부모 생성자가 먼저, 자식이 나중
  3. 예외 처리 try/catch/finally — finally는 예외가 나든 안 나든 무조건 실행

Python 단골 함정 3개

  1. 슬라이싱a[1:4] 는 인덱스 1, 2, 3 (4는 미포함)
  2. 리스트 vs 튜플[]는 변경 가능, ()는 변경 불가
  3. 딕셔너리 키·값d['key'] 로 값 꺼냄
함정 패턴 11개를 손글씨로 한 번 정리해두면, 시험장에서 90%의 코드 문제는 패턴 매칭으로 보여요.

3단계 (4–5주차): 기출 코드만 30개 트레이스

비전공자가 절대 하지 말아야 할 것 — 개념서로 공부 더 하기. 4과목은 이제 기출만 봅니다.

  • 최근 3개년 6개 회차 × 4과목 코드 문제 5개씩 = 약 30개
  • 한 문제당 종이에 변수 변화 추적 (i=0→1→2..., a=5→10...)
  • 답을 봐도 좋아요. 틀려도 좋고, 답을 보고 따라가면서 "왜 그렇게 되는지" 만 이해하면 됩니다

30개 트레이스 끝나면 4과목 모의고사 점수가 30점대에서 50–60점대로 올라옵니다. 이게 비전공자 합격 라인이에요.


시험장 시간 배분 — 4과목은 마지막에

CBT 시험은 100문제를 150분 안에 풀어야 해요. 비전공자는 4과목을 가장 마지막에 푸는 게 정답입니다.

이유는 두 가지예요.

  • 4과목 코드 문제는 한 문제에 3–5분 걸림. 앞에 두면 시간 압박이 누적됨
  • 1·2·5과목 빠르게 풀고 시간을 4과목에 몰아주면 자신 없는 코드도 차분히 트레이스할 수 있음

추천 풀이 순서:

  1. 5과목 (보안·신기술 — 암기 위주, 빠름) — 15분
  2. 1과목 (소프트웨어 설계) — 20분
  3. 3과목 (DB·SQL) — 25분
  4. 2과목 (소프트웨어 개발) — 25분
  5. 4과목 (프로그래밍) — 50분 ← 시간 몰아주기
  6. 검토 — 15분

4과목에 50분 쓴다는 건 한 문제당 평균 2.5분이에요. 코드 트레이스에 충분한 시간입니다.


"그래도 도저히 코드가 안 읽혀요" 라면

비전공자 중 5–10%는 4주차까지 가도 코드 트레이스가 안 잡히는 경우가 있어요. 이때 선택지는 두 가지입니다.

선택지 A: 4과목 50점 노리고 다른 과목으로 평균 끌어올리기

  • 4과목은 8–10문제(40–50점)만 노리고 과락 회피
  • 1·2·3·5과목에서 70점 이상 받아 평균 60점 만들기
  • 단점: 4과목 못 푸는 5문제는 그냥 찍기라 운빨이 큼

선택지 B: 시험 한 회차 미루고 코드 기초 다지기

  • 정처기 필기는 한 해 3회 시험. 한 회차 미루고 6주 더 투자
  • 코딩 입문 강의 (생활코딩 C/Java) 4–6시간만 들어도 큰 차이
  • 권장: 4주 공부했는데 4과목 모의고사 30점이라면 미루는 게 합리적

대부분 비전공자는 선택지 A로 합격합니다. 다만 모의고사 4과목 점수가 25점 이하로 고정되면 B를 진지하게 고려하세요.


정리

정처기 필기 4과목은 비전공자 합격을 가르는 분기점이에요.

  • 1주차: 코드 읽는 법 (변수·반복·조건·함수)
  • 2–3주차: 언어별 함정 패턴 11개 정리
  • 4–5주차: 기출 코드 30개 트레이스
  • 시험장: 4과목을 마지막에, 50분 몰아주기
  • 목표 점수: 50–60점 (8–12문제 정답)

CBT 모의고사로 4과목 점수 추이 확인하면서 보강하세요. 점수가 한 회차 만에 안 오르는 게 정상이에요. 3–4회 풀면서 패턴 익히는 시간이 필요합니다.


관련 글

직접 문제를 풀어보세요

매번 새로운 모의고사와 무한 풀이 모드로 실전 감각을 키울 수 있습니다.