정보처리기사 실기 · 기출 정답 요약

2025년 1회 정보처리기사 실기 기출 정답 · 요약

이 회차 20문항이 무엇을 물었는지, 정답과 핵심 풀이를 한 페이지에 모았어요. 문제는 같은 주제로 새로 쓴 재구성 문제로 바로 풀어 볼 수 있어요.

  • 9코드 (Java 4 · C 4 · Python 1)
  • 1SQL
  • 10이론 · 계산
이 회차 풀기
  1. 1번보안

    TCP 세션을 가로채 인증 없이 통신을 탈취하는 공격

    정답 세션 하이재킹

    • 시퀀스 번호를 조작해 정상 세션을 가로챔
    • 21년 1회와 같은 유형
    이 번호 풀어 보기 →
  2. 2번DB그림 · 표 문제

    무결성 제약 조건 세 가지 구분

    정답 ㄱ. 도메인 ㄴ. 개체 ㄷ. 참조

    • 개체 = 기본키 NULL·중복 불가, 참조 = 외래키는 참조 테이블 기본키 값, 도메인 = 속성 값의 범위
    이 번호 풀어 보기 →
  3. 3번네트워크

    다항식 나눗셈의 나머지로 오류를 검출하는 기법 (3글자)

    정답 CRC

    • Cyclic Redundancy Check, 검출만 하고 정정은 못 함(재전송 필요)
    이 번호 풀어 보기 →
  4. 4번보안

    겁을 줘서 결제나 설치를 유도하는 악성 소프트웨어

    정답 ㄹ. 스케어웨어

    • scare(겁주다) + ware, 가짜 바이러스 경고가 대표적
    이 번호 풀어 보기 →
  5. 5번Java

    0으로 나누기 예외와 여러 catch, finally

    정답 출력1출력5

    • 5 / 0 → ArithmeticException → 첫 catch "출력1"
    • catch는 하나만 실행되고 finally "출력5"는 항상 실행
    이 번호 풀어 보기 →
  6. 6번네트워크

    IP → MAC 프로토콜 / MAC → IP 프로토콜

    정답 (1) ARP (2) RARP

    • RARP = Reverse ARP
    이 번호 풀어 보기 →
  7. 7번SQL그림 · 표 문제

    두 테이블 조인 후 incentive 500 이상인 행

    정답 이순신 | 1000

    • emp.id = sal.id로 짝을 맞춘 뒤 조건으로 거름
    이 번호 풀어 보기 →
  8. 8번DB

    degree / cardinality / foreign key / domain 정의

    정답 (1) ㄷ (2) ㅁ (3) ㅅ (4) ㄱ

    • 속성 수 = degree, 튜플 수 = cardinality, 다른 테이블 기본키를 참조 = foreign, 값의 범위 = domain
    이 번호 풀어 보기 →
  9. 9번네트워크

    /22 네트워크의 브로드캐스트를 받을 수 있는 IP 고르기

    정답 ㄱ, ㄴ, ㄷ, ㄹ, ㅁ (모두)

    • 255.255.252.0 → 세 번째 옥텟 블록 4 → 35는 32~35 블록
    • 범위 192.168.32.0 ~ 192.168.35.255 → 보기 다섯 개 모두 포함
    이 번호 풀어 보기 →
  10. 10번C

    정렬된 문자 배열에 'C' 끼워 넣기

    정답 4 / BACDE

    • Data[3] − Data[1] = 'E' − 'A' = 4
    • 'C'보다 큰 첫 글자 'D'(2번) 자리에 C를 넣고 뒤를 한 칸씩 밀기 → B A C D E
    이 번호 풀어 보기 →
  11. 11번C

    동적 2차원 배열에 계산식으로 값을 넣고 부호를 번갈아 합산

    정답 13

    • arr[((i+1)/3)%3][(i+1)%3] = data[i] → [[9,5,2],[7,4,1],[8,3,6]]
    • 짝수 칸 +, 홀수 칸 −: 9 − 5 + 2 − 7 + 4 − 1 + 8 − 3 + 6 = 13
    이 번호 풀어 보기 →
  12. 12번설계

    결합도: 내부 직접 사용 / 자료 구조 전달 / 전역 변수

    정답 (1) ㅁ 내용 (2) ㄴ 스탬프 (3) ㄹ 공통

    • 21년 1회와 같은 문제
    • 배열·구조체를 넘기면 스탬프, 전역 변수를 같이 쓰면 공통
    이 번호 풀어 보기 →
  13. 13번Java

    부모 생성자 안에서 오버라이딩된 show() 호출, static total 누적

    정답 54

    • new Child() → 먼저 Parent(): v = 2, total = 2 → show()는 오버라이딩된 Child.show → total = 2 + 4 = 6
    • 다음 Child 필드 v = 10 → v += 2 → 12, total += 12 → 18 (v는 13)
    • show() → 18 + 36 = 54
    이 번호 풀어 보기 →
  14. 14번설계

    인터페이스가 다른 클래스를 맞춰 주는 패턴

    정답 Adapter

    • 기존 클래스(Adaptee)를 감싸 원하는 인터페이스(Target)로 변환하는 구조 패턴
    이 번호 풀어 보기 →
  15. 15번테스트그림 · 표 문제

    코드를 제어 흐름도에 배치하고 문장 커버리지 순서 쓰기

    정답 ① int a = 0 ② a < m || b[a] < x ③ b[a] < 0 ④ b[a] = −b[a] ⑤ a++ ⑥ return 1 / ⑦ ③ → ④ → ⑤ → ② → ⑥

    • 문장 커버리지는 모든 문장을 한 번 이상 지나면 됨
    • 반복문 안 if를 참으로 한 번 통과한 뒤 빠져나오는 경로
    이 번호 풀어 보기 →
  16. 16번Java

    배열 중간값 + 양쪽 재귀 중 큰 값

    정답 20

    • func(0, 4): mid 2 → 8 + max(func(0, 2), func(3, 4))
    • func(0, 2) = 5 + max(func(0, 1) = 3, 0) = 8, func(3, 4) = 12
    • 8 + 12 = 20
    이 번호 풀어 보기 →
  17. 17번Python

    리스트로 만든 트리에서 홀수 레벨 노드 값 합

    정답 13

    • 부모 = (i − 1) // 2 → 3의 자식 5, 8 / 5의 자식 12, 15 / 8의 자식 18, 21
    • 레벨 1(홀수)만 더함 → 5 + 8 = 13
    이 번호 풀어 보기 →
  18. 18번C

    앞에 삽입한 연결 리스트에서 값 3인 노드를 맨 앞으로

    정답 35421

    • 1~5를 맨 앞에 넣으면 5 4 3 2 1
    • reconnect(3): 3을 빼서 맨 앞으로 → 3 5 4 2 1
    이 번호 풀어 보기 →
  19. 19번C

    16진수 점수를 & 0xA5로 복호화해 합산

    정답 908

    • Kim: 0xA0 & 0xA5 = 160, 0xA5 & 0xA5 = 165, 0xDB & 0xA5 = 0x81 = 129 → 454
    • Lee: 160 + (0xED & 0xA5 = 165) + (0x81 & 0xA5 = 129) = 454 → 합 908
    이 번호 풀어 보기 →
  20. 20번Java

    calc(String)과 calc(int) 오버로딩 재귀

    정답 4

    • calc("5") → String 버전: calc(4) + calc(2)
    • 이 둘은 int 버전(피보나치) → 3 + 1 = 4. String 버전의 n − 3 식은 처음 한 번만 쓰임
    이 번호 풀어 보기 →