2025년 정보처리기사실기 2회차 기출문제 정답·해설 페이지
- safe(half, 8)은 8이 짝수라 8/2 = 4에 1을 더해 5다.
- safe(half, 5)는 5가 홀수라 IllegalArgumentException이 던져지고, RuntimeException의 하위 타입이라 catch에 잡혀 -1이다.
- safe(w -> w * 3, 4)는 4×3 = 12에 1을 더해 13이다.
- 실제 객체 앞에 같은 인터페이스를 가진 대리 객체를 세워, 실제 객체에 닿기 전에 필요한 처리를 끼워 넣는다.
- 무거운 객체는 처음부터 만들지 않고 실제로 쓰일 때 생성해(지연 로딩) 메모리를 아낄 수 있다.
- 실제 객체를 바깥에 드러내지 않아 정보 은닉 효과도 얻는다.
- 교환 후 list = {q, p, r}
- list[2].w += list[1].w → r.w = 9 + 4 = 13
- list[0].w = list[2].w − 1 → q.w = 13 − 1 = 12
- 하이픈(-)은 continue로 건너뛰어 노드가 만들어지지 않는다.
- M, O, O, N 순으로 쌓여 top부터 N → O → O → M
- 레코드를 저장 장치에 어떻게 배치하느냐에 따라 검색 속도와 처리 효율이 크게 달라진다.
- 접근 방식을 기준으로 파일 조직을 나누면 순차 방식, ( ① ) 방식, ( ② ) 방식으로 구분할 수 있다.
- ( ① ) 방식은 키 값과 레코드 위치를 짝지어 둔 별도의 ( ① )을/를 먼저 조회한 다음, 거기 적힌 주소로 이동해 원하는 레코드를 읽는다.
- ( ② ) 방식은 해시 함수 같은 사상 함수로 레코드의 키 값을 곧바로 저장 주소로 바꾸고, 그 주소에 레코드를 저장·검색하므로 색인 없이 원하는 레코드에 바로 접근한다.
- 인덱스(Index) 방식 — 키와 레코드 주소를 짝지은 색인을 먼저 찾고, 그 주소로 가서 레코드를 읽는다.
- 직접(해싱) 편성 — 해시 함수로 키를 저장 주소로 곧바로 바꿔 색인 없이 접근한다.
- pet.sound(4): 실제 객체가 Dog이므로 오버라이딩된 Dog.sound(int) 호출 → 4×3+1 = 13
- pet.tag(): static은 오버라이딩되지 않고 숨겨질(hiding) 뿐이라 선언 타입 Animal의 tag() → "A"
- ((Dog) pet).tag(): 식의 타입이 Dog이므로 Dog.tag() → "D"
- 경로 1: ②에서 참(③ 경유), ⑥에서 참(①로 복귀)
- 경로 2: ②에서 거짓(④로 직행), ⑥에서 거짓(⑦ 종료)
- x.next = &z (앞선 &y를 덮어씀)
- z.next = &y (앞선 NULL을 덮어씀)
- y.next = NULL (앞선 &z, &x를 덮어씀)
- TCP 연결 수립 절차(3-Way Handshake)의 허점을 이용하는 대표적인 자원 고갈 공격이다.
- 공격자는 출발지 주소를 위조한 연결 요청 패킷만 대량으로 보내고 마지막 응답은 보내지 않는다.
- 서버의 반개방(half-open) 연결 대기열(백로그 큐)이 가득 차 정상 사용자의 새 연결을 받지 못하게 된다.
- Land Attack: 출발지와 목적지 주소를 같게 위조한다.
- Tear Drop: IP 단편의 오프셋을 조작해 재조립을 방해한다.
- Smurfing: 브로드캐스트 ICMP 응답을 피해자에게 몰아 보낸다.
- Slowloris·RUDY: HTTP 헤더나 본문을 아주 느리게 보내 연결을 붙잡아 둔다.
- (*pp)[1] = (*pp)[-1]: cur[1]은 grid[2], cur[-1]은 grid[0] → grid[2]에 {7, 1}이 통째로 복사
- (*pp)++: cur가 grid[2]로 한 칸 이동
- (**pp).c += grid[3].r: grid[2].c = 1 + 8 = 9
- 132 = 1000 0100, 192 = 1100 0000 → AND = 1000 0000 = 128
- 네트워크 주소 223.13.234.128, 브로드캐스트 주소 223.13.234.191
- box[1] = word + box[0] = K + M = KM이 되어 main의 box는 {M, KM}이 된다.
- word = Q는 지역 매개변수만 바꾸므로 main의 word는 K 그대로다.
- box = new String[]{…}는 매개변수가 새 배열을 가리킬 뿐 main의 box와 무관하다.
- 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 − 0 − 8 = 12 / P2: 8 − 1 − 4 = 3
- P3: 26 − 2 − 9 = 15 / P4: 25 − 3 − 5 = 17
- push 5, 8, 6 → buf[0..2] = 5, 8, 6, tail = 3
- pop → 5를 꺼냄(버림), head = 1
- push 9 → buf[3] = 9, tail = 0 / push 7 → buf[0] = 7, tail = 1
- x = pop → 8, y = pop → 6, z = pop → 9
- 기본 포트로 TCP 22번을 쓴다.
- 평문으로 통신하던 Telnet·rlogin을 대신하기 위해 만들어졌으며, 오가는 데이터를 모두 암호화한다.
- 사용자·서버 인증, 무결성 검사, 압축 기능을 제공하고 파일 전송(SCP·SFTP)에도 쓰인다.
- sq = {2: 4, 4: 16, 6: 36}, seen = {4, 16, 36}
- nums[1] = 10: sq·seen과 무관
- sq[6] = 16 → sq의 값 집합은 {4, 16}
- seen에서 4를 빼고 10을 넣음 → seen = {10, 16, 36}
- ( ㉮ )은/는 JavaScript와 XML(오늘날에는 JSON도 많이 씀)을 이용해 서버와 비동기로 통신한다.
- 페이지 전체를 새로 불러오지 않고 필요한 부분의 데이터만 받아 화면 일부를 갱신한다.
- HTML만으로는 구현하기 어려운 상호작용을 가능하게 하며, 지도를 끌어 움직일 때 주변 지도가 이어서 로드되는 웹 지도 서비스가 대표 사례다.
- ( ① ): 준비 큐에 있는 프로세스 가운데 실행 시간이 가장 짧은 것을 골라 CPU를 주며, 한번 CPU를 얻은 프로세스는 끝날 때까지 빼앗기지 않는 비선점 방식이다.
- ( ② ): ①에 선점 개념을 더한 방식으로, 새로 도착한 프로세스의 남은 실행 시간이 현재 실행 중인 프로세스의 남은 시간보다 짧으면 즉시 CPU를 넘겨준다.
- ( ③ ): 기다린 시간과 실행 시간을 함께 따진 우선순위 값으로 다음 프로세스를 고르는 비선점 방식으로, 오래 기다린 긴 작업이 끝없이 밀리는 현상을 막는다.
- ( ④ ): 모든 프로세스에 같은 크기의 시간 할당량(Time Quantum)을 주고 돌아가며 실행하는 선점 방식으로, 시분할 시스템에 알맞다.
- SJF(Shortest Job First)는 실행 시간이 가장 짧은 작업부터 처리하는 비선점 방식이다.
- SRT(Shortest Remaining Time)는 SJF의 선점형으로, 남은 시간이 더 짧은 프로세스가 도착하면 CPU를 넘긴다.
- HRN(Highest Response-ratio Next)은 (대기 시간 + 실행 시간) ÷ 실행 시간 값이 큰 것부터 실행하는 비선점 방식이다.
- RR(Round Robin)은 같은 시간 할당량으로 돌아가며 실행하는 선점 방식이다.
25-2
아래 Java 프로그램의 출력 결과를 적으시오.
public class Main {
interface Op {
int calc(int v);
}
static int safe(Op op, int arg) {
try {
return op.calc(arg) + 1;
} catch (RuntimeException e) {
return -1;
}
}
public static void main(String[] args) {
Op half = v -> {
if (v % 2 != 0) {
throw new IllegalArgumentException();
}
return v / 2;
};
System.out.print(safe(half, 8) + safe(half, 5) + safe(w -> w * 3, 4));
}
}17
[해설]
람다식은 함수형 인터페이스 Op의 calc 구현으로 전달되고, safe는 RuntimeException이 나면 -1을 돌려준다.
세 값이 모두 int라 문자열 연결이 아니라 덧셈이 되어 5 + (−1) + 13 = 17이다. 예외가 나면 return 식의 +1은 실행되지 않으므로 -1에 1을 더하지 않는다.
오류나 개정된 내용이 보이면 알려주세요
25-2
다음 설명에 모두 해당하는 GoF 디자인 패턴을 [보기]에서 골라 적으시오.
[보기] Abstract Factory, Adapter, Bridge, Builder, Composite, Decorator, Facade, Flyweight, Mediator, Observer, Prototype, Proxy, Singleton, Strategy, Visitor
Proxy
[해설]
실제 객체 앞에 같은 인터페이스를 가진 대리 객체를 두어 접근을 제어하는 구조 패턴은 Proxy(프록시)다.
쓰일 때 생성하는 가상 프록시(지연 로딩), 권한을 검사하는 보호 프록시, 원격 객체를 대신하는 원격 프록시 등으로 쓰인다.
혼동 주의: Decorator도 같은 인터페이스로 감싸지만, 목적이 접근 제어가 아니라 기능 추가다.
오류나 개정된 내용이 보이면 알려주세요
25-2
아래 코드를 컴파일해 실행하면 화면에 찍히는 값을 적으시오.
public class Main {
static class Box {
int w;
Box(int w) {
this.w = w;
}
}
public static void main(String[] args) {
Box p = new Box(4);
Box q = new Box(7);
Box r = new Box(9);
Box[] list = {p, q, r};
Box tmp = list[1];
list[1] = list[0];
list[0] = tmp;
list[2].w += list[1].w;
list[0].w = list[2].w - 1;
System.out.println(p.w + "-" + q.w + "-" + r.w);
}
}4-12-13
[해설]
배열 list에는 객체 자체가 아니라 참조가 들어 있어, 배열 칸을 바꿔도 p·q·r이 가리키는 객체는 그대로다.
p는 손대지 않았으므로 4다. 출력은 4-12-13이다.
오류나 개정된 내용이 보이면 알려주세요
25-2
관계 데이터베이스에서 테이블의 열(Column) 하나에 해당하며, 파일 시스템의 필드(Field)와 같은 뜻으로 쓰이는 데이터 구조 단위를 [보기]에서 골라 적으시오.
[보기] Attribute, Cardinality, Degree, Instance, Relation, Schema, Tuple
Attribute
[해설]
테이블의 열 하나, 즉 개체의 특성을 나타내는 가장 작은 논리 단위는 Attribute(속성)이며 파일 시스템의 필드에 해당한다.
행 하나는 Tuple이며 파일의 레코드에 해당한다.
혼동 주의: Degree는 속성의 개수, Cardinality는 튜플의 개수다.
오류나 개정된 내용이 보이면 알려주세요
25-2
아래 C 프로그램의 출력 결과를 적으시오.
#include <stdio.h>
#include <stdlib.h>
typedef struct Link {
char ch;
struct Link *prev;
} Link;
Link *stack_up(const char *txt) {
Link *top = NULL;
for (int i = 0; txt[i] != '\0'; i++) {
if (txt[i] == '-')
continue;
Link *nw = (Link *)malloc(sizeof(Link));
nw->ch = txt[i];
nw->prev = top;
top = nw;
}
return top;
}
int main(void) {
Link *cur = stack_up("MO-ON");
while (cur != NULL) {
Link *del = cur;
printf("%c", cur->ch);
cur = cur->prev;
free(del);
}
return 0;
}NOOM
[해설]
stack_up은 새 노드를 항상 맨 앞(top)에 붙이므로, 연결 리스트는 입력의 역순으로 쌓인다(스택).
main은 top부터 prev를 따라가며 한 글자씩 찍고 메모리를 해제하므로 NOOM이 출력된다.
오류나 개정된 내용이 보이면 알려주세요
25-2
파일 조직(파일 편성)에 관한 설명이다. 빈칸 ①, ②에 알맞은 용어를 적으시오. (①은 여러 곳에 공통으로 들어간다.)
① 인덱스(Index)
② 직접(해싱) 편성(Direct Organization)
[해설]
파일 조직은 접근 방식에 따라 순차·인덱스·직접(해싱) 방식으로 나뉜다.
혼동 주의: 직접 편성은 접근이 가장 빠르지만, 서로 다른 키가 같은 주소로 바뀌는 충돌을 처리해야 한다.
오류나 개정된 내용이 보이면 알려주세요
25-2
아래 Java 프로그램을 실행하면 콘솔에 무엇이 출력되는지 적으시오.
public class Main {
static class Animal {
int sound(int n) { return n * 2; }
static String tag() { return "A"; }
}
static class Dog extends Animal {
int sound(int n) { return n * 3 + 1; }
String sound(String s) { return s + "!"; }
static String tag() { return "D"; }
}
public static void main(String[] args) {
Animal pet = new Dog();
System.out.println(pet.sound(4) + pet.tag() + ((Dog) pet).tag());
}
}13AD
[해설]
인스턴스 메서드는 실제 객체 타입으로, static 메서드는 참조 변수의 선언 타입으로 결정된다.
13 + "A"에서 문자열 연결이 시작되어 결과는 13AD다. sound(String)은 오버로딩으로 추가된 메서드라 이 호출과 관계없다.
오류나 개정된 내용이 보이면 알려주세요
25-2
다음은 어떤 모듈의 제어 흐름을 노드 번호로 정리한 것이다. 분기 커버리지(Branch Coverage)를 100% 만족하는 테스트 경로 두 개를 노드 번호 순서로 적으시오. (각 경로는 ①에서 시작해 ⑦에 도달하거나 ①로 되돌아오는 곳까지 적는다.)
| 노드 | 내용 | 다음 노드 |
|---|---|---|
| ① | flag = 0 | ② |
| ② | a > b ? | 참 → ③, 거짓 → ④ |
| ③ | flag = 1 | ④ |
| ④ | a = a + 3 | ⑤ |
| ⑤ | result = proc(a, flag) | ⑥ |
| ⑥ | result > 0 ? | 참 → ①, 거짓 → ⑦ |
| ⑦ | print result (종료) | - |
①→②→③→④→⑤→⑥→①
①→②→④→⑤→⑥→⑦
(또는 ①→②→③→④→⑤→⑥→⑦과 ①→②→④→⑤→⑥→①의 조합도 정답)
[해설]
분기 커버리지는 모든 결정문의 참과 거짓 결과를 각각 한 번 이상 지나가면 된다. 결정 노드는 ②와 ⑥ 두 개다.
두 경로로 ②의 참·거짓과 ⑥의 참·거짓이 모두 한 번씩 수행된다. ②와 ⑥의 결과를 엇갈려 짝지은 조합도 조건을 똑같이 채우므로 정답이다.
오류나 개정된 내용이 보이면 알려주세요
25-2
아래 C 프로그램을 실행했을 때 출력값을 적으시오.
#include <stdio.h>
struct item {
int key;
struct item *next;
};
int main(void) {
struct item x = {4, NULL};
struct item y = {7, NULL};
struct item z = {2, NULL};
struct item *top = &y;
x.next = &y;
y.next = &z;
z.next = NULL;
y.next = &x;
x.next = &z;
z.next = &y;
y.next = NULL;
top = &x;
printf("%d %d %d", top->key, top->next->key, top->next->next->key);
return 0;
}4 2 7
[해설]
next 포인터는 마지막에 대입된 값만 남으므로, 최종 연결 상태만 따지면 된다.
top은 &x로 바뀌었으므로 x → z → y 순으로 따라가 4 2 7이 출력된다.
오류나 개정된 내용이 보이면 알려주세요
25-2
다음 설명에 해당하는 서비스 거부(DoS) 공격 기법을 [보기]에서 골라 적으시오.
[보기] Land Attack, Ping of Death, RUDY, Slowloris, Smurfing, SYN Flooding, Tear Drop, UDP Flooding
SYN Flooding
[해설]
SYN 패킷만 쏟아 부어 연결 대기열을 채우는 공격은 SYN Flooding이다.
서버는 SYN-ACK를 보낸 뒤 ACK를 기다리며 자원을 잡아 두는데, 이 반개방 연결이 쌓여 큐가 넘친다. SYN Cookie, 백로그 큐 확대, 대기 시간 단축 등으로 대응한다.
오류나 개정된 내용이 보이면 알려주세요
25-2
[STAFF] 릴레이션이 다음과 같을 때, 관계대수 연산 의 결과 릴레이션을 완성하시오. (①은 속성명, ②~⑤는 위에서부터 차례대로의 값이다.)
[STAFF]
| SNO | SNAME | DEPT | POS | HIRE_DATE |
|---|---|---|---|---|
| 2107 | 윤서하 | 영업 | 과장 | 2014.07.01 |
| 2215 | 장우진 | 개발 | 사원 | 2023.01.02 |
| 2308 | 민채원 | 개발 | 부장 | 2006.10.16 |
| 2412 | 권태오 | 인사 | 대리 | 2019.04.08 |
[결과]
| ( ① ) |
|---|
| ( ② ) |
| ( ③ ) |
| ( ④ ) |
| ( ⑤ ) |
① POS
② 과장
③ 사원
④ 부장
⑤ 대리
[해설]
π(프로젝트)는 릴레이션에서 지정한 속성(열)만 골라내는 연산이라, 결과 릴레이션의 속성명은 POS 하나다.
값은 원래 튜플 순서대로 과장, 사원, 부장, 대리가 남는다. 중복 값이 없어 네 튜플이 모두 그대로 나온다.
혼동 주의: σ(셀렉트)는 조건에 맞는 행을 고르고, π는 열을 고르며 중복 튜플은 하나만 남긴다.
오류나 개정된 내용이 보이면 알려주세요
25-2
아래 C 프로그램이 출력하는 내용을 적으시오.
#include <stdio.h>
struct pt {
int r;
int c;
};
int main(void) {
struct pt grid[] = {{7, 1}, {4, 9}, {2, 6}, {8, 3}};
struct pt *cur = grid + 1;
struct pt **pp = &cur;
(*pp)[1] = (*pp)[-1];
(*pp)++;
(**pp).c += grid[3].r;
printf("%d, %d", grid[2].r, grid[2].c);
return 0;
}7, 9
[해설]
cur는 grid[1]을 가리키고, pp는 cur의 주소를 담으므로 *pp는 곧 cur다.
grid[2]는 {7, 9}가 되어 7, 9가 출력된다. 구조체끼리의 대입은 멤버 전체를 값으로 복사한다.
오류나 개정된 내용이 보이면 알려주세요
25-2
어떤 호스트에 다음과 같이 주소가 설정되어 있다. 빈칸 ①, ②에 알맞은 값을 적으시오.
| 항목 | 값 |
|---|---|
| IP 주소 | 223.13.234.132 |
| 서브넷 마스크 | 255.255.255.192 |
| 네트워크 주소 | 223.13.234.( ① ) |
| 호스트에 할당 가능한 주소 수(네트워크·브로드캐스트 주소 제외) | ( ② )개 |
① 128
② 62
[해설]
마스크 255.255.255.192는 /26이므로 넷째 옥텟의 상위 2비트가 네트워크, 하위 6비트가 호스트 부분이다.
호스트 비트가 6개이므로 62개를 할당할 수 있다.
오류나 개정된 내용이 보이면 알려주세요
25-2
아래 Java 프로그램을 실행했을 때 출력되는 내용을 적으시오.
public class Main {
static void edit(String[] box, String word) {
box[1] = word + box[0];
word = "Q";
box = new String[] {"X", "Y"};
}
public static void main(String[] args) {
String[] box = {"M", "N"};
String word = "K";
edit(box, word);
System.out.print(box[0] + box[1] + word);
}
}MKMK
[해설]
Java는 값에 의한 호출(Call by Value)이라 배열은 참조값이 복사되어 넘어간다. 그래서 원소를 바꾸면 main에 반영되지만, 매개변수 자체를 재할당한 것은 반영되지 않는다.
출력은 M + KM + K = MKMK다. 혼동 주의: 메서드 안에서 만든 새 배열의 X, Y는 main에 전혀 나타나지 않는다.
오류나 개정된 내용이 보이면 알려주세요
25-2
다음 네 프로세스를 라운드 로빈(RR) 방식으로 스케줄링할 때 평균 대기 시간을 구하시오. (시간 할당량은 4ms이며, 문맥 교환 시간은 무시한다.)
| 프로세스 | 도착 시간(ms) | 실행 시간(ms) |
|---|---|---|
| P1 | 0 | 8 |
| P2 | 1 | 4 |
| P3 | 2 | 9 |
| P4 | 3 | 5 |
11.75ms
[해설]
P1이 첫 할당량을 쓰는 동안(0~4ms) 나머지 셋이 모두 도착하므로, 큐 순서는 P2 → P3 → P4 → P1이 된다.
대기 시간 = 종료 시각 − 도착 시간 − 실행 시간이다.
평균은 11.75ms다.
오류나 개정된 내용이 보이면 알려주세요
25-2
아래 C 프로그램의 실행 결과를 적으시오.
#include <stdio.h>
#define CAP 4
typedef struct {
int buf[CAP];
int head;
int tail;
} Ring;
void push(Ring *r, int v) {
r->buf[r->tail] = v;
r->tail = (r->tail + 1) % CAP;
}
int pop(Ring *r) {
int v = r->buf[r->head];
r->head = (r->head + 1) % CAP;
return v;
}
int main(void) {
Ring r = {{0}, 0, 0};
int x, y, z;
push(&r, 5);
push(&r, 8);
push(&r, 6);
pop(&r);
push(&r, 9);
push(&r, 7);
x = pop(&r);
y = pop(&r);
z = pop(&r);
printf("%d-%d-%d", z, x, y);
return 0;
}9-8-6
[해설]
Ring은 크기 4의 원형 큐다. push는 tail 위치에 넣고, pop은 head 위치에서 꺼내며, 인덱스는 % CAP으로 되돌아간다.
printf는 z, x, y 순으로 찍으므로 9-8-6이다. 꺼내는 순서는 넣은 순서(FIFO)를 그대로 따른다.
오류나 개정된 내용이 보이면 알려주세요
25-2
다음 설명에 해당하는 원격 접속 프로토콜을 영문 약어로 적으시오.
SSH
[해설]
TCP 22번 포트를 쓰는 암호화 원격 접속 프로토콜은 SSH(Secure Shell)이다.
Telnet(23번)·rlogin은 아이디·비밀번호까지 평문으로 보내서 스니핑에 취약하다. SSH는 키 교환으로 세션 키를 만든 뒤 전 구간을 암호화하고, SCP·SFTP 파일 전송도 이 연결 위에서 이뤄진다.
혼동 주의: FTP는 20·21번을 쓰지만, SFTP는 별도 포트 없이 SSH의 22번을 그대로 쓴다.
오류나 개정된 내용이 보이면 알려주세요
25-2
아래 Python 프로그램의 출력 결과를 적으시오.
nums = [2, 4, 6]
sq = {k: k * k for k in nums}
seen = set(sq.values())
nums[1] = 10
sq[6] = 16
seen.discard(4)
seen.add(10)
print(len(seen | set(sq.values())), sorted(seen & set(sq.values())))4 [16]
[해설]
딕셔너리 컴프리헨션은 만들어지는 순간의 값으로 새 객체를 만들므로, 이후 nums를 바꿔도 sq에는 영향이 없다.
합집합 {4, 10, 16, 36}의 크기는 4, 교집합은 {16}이다. print는 둘을 공백으로 이어 4 [16]을 출력한다.
오류나 개정된 내용이 보이면 알려주세요
25-2
빈칸 ( ㉮ )에 들어갈 기술을 영문 약어로 적으시오.
AJAX
[해설]
페이지 전체를 다시 받지 않고 비동기 요청으로 화면 일부만 갱신하는 기법은 AJAX(Asynchronous JavaScript and XML)다.
브라우저의 XMLHttpRequest나 fetch로 서버에 요청을 보내고, 응답(XML·JSON)이 오면 JavaScript가 DOM의 해당 부분만 바꾼다. 웹 지도를 끌 때 화면 전환 없이 주변 지도만 이어서 불러오는 것이 이 방식이다.
오류나 개정된 내용이 보이면 알려주세요
25-2
CPU 스케줄링 기법에 관한 설명이다. 빈칸 ①~④에 해당하는 기법을 영문 약어로 적으시오.
① SJF
② SRT
③ HRN
④ RR
[해설]
CPU 스케줄링 기법은 선점 여부와 다음 프로세스를 고르는 기준으로 구분한다.
혼동 주의: HRN은 오래 기다릴수록 우선순위가 올라가 SJF의 기아(Starvation) 문제를 줄인다. RR은 할당량이 너무 크면 FCFS와 같아진다.
오류나 개정된 내용이 보이면 알려주세요
2025년 정보처리기사실기 2회차 시험지 PDF 다운로드·인쇄 →
전 회차를 한 권으로 — 정보처리기사 실기 기출문제 PDF 전자책(문제집·정답해설집) →
2025년 정보처리기사실기 2회차 정답과 해설은 무료인가요?
이 페이지의 20문항 정답과 해설은 로그인 없이 무료로 볼 수 있습니다. 무제한 풀이·실전 모의고사·PDF 출력·전자책 다운로드는 베이직 플랜에 포함됩니다.
이 회차를 CBT 로 직접 풀어볼 수 있나요?
정보처리기사 실기 기출문제 암기장에서 이 회차를 회차별·랜덤으로 풀고 오답노트에 자동으로 모을 수 있습니다. 정보처리기사 실기 기출문제 풀러 가기 →
시험지 PDF 나 전자책으로도 볼 수 있나요?
이 회차의 인쇄용 시험지 PDF 와, 전 회차를 문제집·정답해설집으로 묶은 PDF 전자책을 제공합니다. 정보처리기사 실기 기출문제 PDF 전자책 보기 →