해당 글은 틀린 문제만 정리한 오답노트입니다.
시험에서 헷갈리기 쉬운 개념 위주로 정리했습니다.
1. JAVA
Q. 다음은 Java언어의 문제이다. 아래 코드를 보고 알맞는 출력값을 작성하시오.
public class Main {
static interface F {
int apply(int x) throws Exception;
}
public static int run(F f) {
try {
return f.apply(3);
} catch (Exception e) {
return 7;
}
}
public static void main(String[] args) {
F f = (x) -> {
if (x > 2) {
throw new Exception();
}
return x * 2;
};
System.out.print(run(f) + run((int n) -> n + 9));
}
}
정답 : 19
나의 오답 : 10
핵심 포인트
- run(F f) 구조
- f.apply(3) 실행
- 예외 발생 시 7 반환
풀이과정
1. 첫 번째 run(f)
F f = (x) -> {
if (x > 2) {
throw new Exception();
}
return x * 2;
};
- x = 3
- 조건 x > 2 → true
- Exception 발생 → catch 실행 → 7 반환
2. 두 번째 run((int n) -> n + 9)
- n = 3
- 3 + 9 = 12
- 예외 없음 → 12 반환
3. 최종 출력
한줄요약
람다식 + 예외 발생 시 catch 값 반환 흐름 이해
2. C 언어
Q. 다음은 C언어의 문제이다. 아래 코드를 보고 알맞는 출력값을 작성하시오.
#include <stdio.h>
#define SIZE 3
typedef struct {
int a[SIZE];
int front;
int rear;
} Queue;
void enq(Queue* q, int val){
q->a[q->rear] = val;
q->rear = (q->rear + 1) % SIZE;
}
int deq(Queue* q) {
int val = q->a[q->front];
q->front = (q->front + 1) % SIZE;
return val;
}
int main() {
Queue q = {{0}, 0, 0};
enq(&q,1); enq(&q,2); deq(&q); enq(&q, 3);
int first = deq(&q);
int second = deq(&q);
printf("%d 그리고 %d", first, second);
return 0;
}
정답 : 2 그리고 3
나의 오답 : 1그리고 2
핵심 포인트
- 원형 큐 (Circular Queue)
- front, rear 이동 시 % SIZE
풀이 과정
초기 상태
a = [0,0,0]
front = 0, rear = 0
1. enq(1)
a[0] = 1
rear = 1
a[1] = 2
rear = 2
val = a[0] = 1
front = 1
a[2] = 3
rear = 0 (순환)
현재 상태
a = [1,2,3]
front = 1, rear = 0
5. first = deq()
a[1] = 2
front = 2
a[2] = 3
front = 0
출력
2 그리고 3
한줄요약
큐는 FIFO + 원형 인덱스 이동 중요
3. RR
Q. 라운드로빈(RR) 방식을 이용하고 아래 내용을 참고하여 평균대기시간을 구하시오.
운영체제에서 라운드로빈(Round Robin, RR) 스케줄링은 각 프로세스에 동일한 시간 할당량(타임 퀀텀)을 순차적으로 부여하며 CPU를 할당하는 방식이다.
다음은 4개의 프로세스가 서로 다른 시간에 도착하며 각기 다른 실행 시간을 가지는 상황이다. 이때 시간 할당량은 4ms이고 컨텍스트 스위칭 시간은 무시한다고 가정한다.
아래 정보를 바탕으로 라운드로빈(RR) 방식으로 CPU 스케줄링을 수행할 경우 모든 프로세스의 평균 대기시간(Average Waiting Time)은 얼마인가?
| 프로세스 | 도착시간(ms) | 실행시간(ms) |
| P1 | 0 | 8 |
| P2 | 1 | 4 |
| P3 | 2 | 9 |
| P4 | 3 | 5 |
정답 : 11.75ms
나의 오답 : 25.5ms
핵심 포인트
- Time Quantum = 4
- 도착시간 고려 필수
- 대기시간 = (종료시간 - 도착시간 - 실행시간)
실행 흐름
시간 흐름
0~4 : P1 (남은 4)
4~8 : P2 (완료)
8~12 : P3 (남은 5)
12~16 : P4 (남은 1)
16~20 : P1 (완료)
20~24 : P3 (남은 1)
24~25 : P4 (완료)
25~26 : P3 (완료)
종료 시간
| 프로세스 | 종료시간 |
| P1 | 20 |
| P2 | 8 |
| P3 | 26 |
| P4 | 25 |
대기시간 계산
P1 = 20 - 0 - 8 = 12
P2 = 8 - 1 - 4 = 3
P3 = 26 - 2 - 9 = 15
P4 = 25 - 3 - 5 = 17
평균
(12 + 3 + 15 + 17) / 4 = 11.75
한줄요약
RR은 시간 흐름 시뮬레이션 + 종료시간 기준으로 대기시간 계산
4. C 언어
Q. 다음은 C언어의 문제이다. 아래 코드를 보고 알맞는 출력값을 작성하시오.
#include <stdio.h>
#include <stdlib.h>
struct node {
char c;
struct node* p;
};
struct node* func(char* s) {
struct node* h = NULL, *n;
while(*s) {
n = malloc(sizeof(struct node));
n->c = *s++;
n->p = h;
h = n;
}
return h;
}
int main() {
struct node* n = func("BEST");
while(n) {
putchar(n->c);
struct node* t = n;
n = n->p;
free(t);
}
return 0;
}
정답 : TSEB
나의 오답 : ESTB
핵심 포인트
- 앞에 삽입 (Head Insert)
- 문자열이 역순으로 저장됨
풀이 과정
입력 문자열
"B E S T"
h = NULL
B → B
E → E → B
S → S → E → B
T → T → S → E → B
출력
T → S → E → B
한줄요약
헤드 삽입 = 역순 출력
5. TCP
Q. 다음은 TCP 통신 과정에서 발생할 수 있는 보안 취약점에 대한 설명이다. 이를 이용한 공격 기법으로 옳은 것은?
TCP는 연결을 수립하기 위해 클라이언트가 서버에 SYN 패킷을 보내고 서버는 SYN-ACK 패킷으로 응답한 후 클라이언트가 다시 ACK 패킷을 보내는 3-way-handshake 과정을 거친다.
이때 공격자는 클라이언트 역할로 수많은 SYN 패킷을 서버에 전송한 뒤 마지막 ACK를 고의로 보내지 않아 서버가 연결 대기 상태를 계속 유지하게 만든다.
이로 인해 서버의 연결 대기 큐가 가득 차면서 정상적인 접속 요청을 처리하지 못하게 되어 서비스 거부 상태가 발생한다.
정답 : SYN Flooding
나의 오답 : 처음보는 개념...
핵심 포인트
- SYN → SYN-ACK → ACK (3-way handshake)
- ACK 미전송 → 연결 대기 큐 점유
- 서버 자원 고갈 → 서비스 거부
한줄요약
ACK 안 보내서 서버 연결 대기 큐를 터뜨리는 공격 = SYN Flooding
최종 핵심 요약
- Java → 예외 발생 시 catch 반환값 확인
- C → 큐는 front/rear 흐름, 연결리스트는 삽입 위치 중요
- RR → 시간 흐름 시뮬레이션이 핵심
- TCP → 3-way handshake 기반 공격 구분 필수
정처기 실기 기출 오답노트 시리즈 → 2021 ~ 2025 전 회차 정리 진행중
모든 정처기 수험생분들 응원합니다 :D
'정보처리기사 오답노트' 카테고리의 다른 글
| 정처기 실기 [14] 2025년 3회 기출 오답노트 (핵심 개념 정리) (0) | 2026.04.07 |
|---|---|
| 정처기 실기 [12] 2025년 1회 기출 오답노트 (핵심 개념 정리) (0) | 2026.04.02 |
| 정처기 실기 [11] 2024년 3회 기출 오답노트 (핵심 개념 정리) (0) | 2026.04.01 |
| 정처기 실기 [10] 2024년 2회 기출 오답노트 (핵심 개념 정리) (0) | 2026.03.31 |
| 정처기 실기 [09] 2024년 1회 기출 오답노트 (핵심 개념 정리) (0) | 2026.03.30 |
