정보처리기사 · 실기

2025년 1회 정보처리기사 실기 기출 유형

답안을 직접 작성하고 정답과 비교해 보세요. 서술형 답안은 표현이 다를 수 있어 직접 확인합니다.

← 회차 목록

주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

20문항미확인 20문항

2025년 1회 주제 · 연습 1

정보보안

공격자가 로그인한 사용자의 세션 식별자를 탈취해 그 사용자인 것처럼 요청한다. 공격의 이름과 예방 조치 한 가지를 쓰시오.

정답·해설 보기

정답

세션 하이재킹. 예: HTTPS 사용, 로그인 후 세션 ID 재발급

해설

쿠키의 Secure·HttpOnly·SameSite 설정, 만료 관리도 목적에 맞게 적용한다. 세션 식별자가 인증 상태를 대신하므로 보호해야 한다.

학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

답안과 비교한 결과

2025년 1회 주제 · 연습 2

SQL·데이터베이스

① 점수는 0~100 정수 ② 기본키에는 NULL과 중복 불허 ③ 외래키가 참조하는 행이 존재해야 함에 해당하는 무결성을 쓰시오.

정답·해설 보기

정답

① 도메인 무결성 ② 개체 무결성 ③ 참조 무결성

해설

각각 허용 값의 범위·형식, 튜플의 식별, 관계 사이 참조를 보장한다.

학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

답안과 비교한 결과

2025년 1회 주제 · 연습 3

네트워크·운영체제

전송 비트열을 생성 다항식으로 나눈 나머지를 검사값으로 붙여 오류를 검출하는 방식의 약어를 쓰시오.

정답·해설 보기

정답

CRC

해설

Cyclic Redundancy Check이다. 오류 검출 코드이며 그 자체로 오류 위치를 찾아 정정하는 방식은 아니다.

학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

답안과 비교한 결과

2025년 1회 주제 · 연습 4

정보보안

가짜 감염 경고를 반복해서 띄워 사용자를 겁먹게 하고 불필요한 보안 프로그램 구매를 유도하는 악성 소프트웨어 유형을 쓰시오.

정답·해설 보기

정답

스케어웨어(Scareware)

해설

공포심을 이용한 속임수가 핵심이다. 파일 암호화와 몸값 요구가 반드시 수반되는 것은 아니다.

학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

답안과 비교한 결과

2025년 1회 주제 · 연습 5

프로그래밍 언어

다음 Java 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Java 21 기준이다.

public class Main {

    public static void main(String[] args) {
        int result=6;
        try {
            int divisor=1;
            result+=12/divisor;
            System.out.print("T");
        } catch(ArithmeticException e) {
            result+=3; System.out.print("E");
        } finally {
            result+=2; System.out.print("F");
        }
        System.out.print(result);
    }
}
정답·해설 보기

정답

TF20

해설

정수 0 나눗셈은 ArithmeticException을 발생시키며 덧셈 대입은 완료되지 않는다. 예외 여부와 관계없이 finally를 실행한 뒤 최종 result를 출력한다.

학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

답안과 비교한 결과

2025년 1회 주제 · 연습 6

네트워크·운영체제

① IPv4 주소를 가지고 같은 링크의 MAC 주소를 알아냄 ② MAC 주소에서 IP 주소를 알아내던 레거시 프로토콜을 각각 쓰시오.

정답·해설 보기

정답

① ARP ② RARP

해설

ARP는 링크 계층 주소 해석에 쓰인다. IPv6에서는 ARP 대신 이웃 탐색(NDP)을 사용한다.

학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

답안과 비교한 결과

2025년 1회 주제 · 연습 7

SQL·데이터베이스

아래 테이블에 다음 SQL을 실행했을 때 마지막 SELECT의 결과를 쓰시오. NULL은 결측값이며, 결과는 열을 공백으로 구분하고 행마다 줄을 바꾸어 적으시오.

Scores
idnameteamscorementor
1AriA63NULL
2BoraB581
3CianA631
4DaniBNULL2
5EvanA482
Teams
codebonus
A7
B12
C2
SELECT s.name, t.bonus + s.score
FROM Scores s JOIN Teams t ON s.team = t.code
WHERE s.score >= 58 ORDER BY s.id;
정답·해설 보기

정답

Ari 70 Bora 70 Cian 70

해설

팀 코드로 보너스를 연결한 뒤 점수 조건을 만족한 사람의 점수와 보너스를 더한다.

학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

답안과 비교한 결과

2025년 1회 주제 · 연습 8

SQL·데이터베이스

관계형 데이터베이스의 ① 열 수 ② 행 수 ③ 다른 테이블의 키를 참조하는 속성 ④ 한 속성이 가질 수 있는 값의 집합을 쓰시오.

정답·해설 보기

정답

① 차수 ② 카디널리티 ③ 외래키 ④ 도메인

해설

차수와 카디널리티는 스키마의 열 개수와 현재 튜플 개수를 각각 나타낸다.

학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

답안과 비교한 결과

2025년 1회 주제 · 연습 9

네트워크·운영체제

IPv4 호스트 192.168.9.158/22의 네트워크 주소, 브로드캐스트 주소, 사용 가능한 호스트 주소 수를 쓰시오. 일반적인 서브넷에서 네트워크·브로드캐스트 주소는 호스트에 할당하지 않는다.

정답·해설 보기

정답

192.168.8.0 192.168.11.255 1022개

해설

호스트 비트는 10비트로 주소 수는 2^10=1024개이다. 호스트 비트를 모두 0으로 만들면 네트워크, 모두 1로 만들면 브로드캐스트 주소이며 호스트 수는 2를 뺀다.

학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

답안과 비교한 결과

2025년 1회 주제 · 연습 10

프로그래밍 언어

다음 C 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. C11, ASCII 문자 집합을 기준으로 한다.

#include <stdio.h>

int main(void) {
    int a[] = {11, 6, 9, 7};
    for (int i=0; i<3; i++)
        for (int j=0; j<3-i; j++)
            if (a[j] > a[j+1]) {
                int t=a[j]; a[j]=a[j+1]; a[j+1]=t;
            }
    printf("%d %d %d %d", a[0], a[1], a[2], a[3]);
    return 0;
}
정답·해설 보기

정답

6 7 9 11

해설

인접한 두 값의 순서가 뒤집혀 있으면 교환하는 버블 정렬이다. 각 바깥 반복 후 큰 값이 오른쪽 끝에 확정된다.

학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

답안과 비교한 결과

2025년 1회 주제 · 연습 11

프로그래밍 언어

다음 C 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. C11, ASCII 문자 집합을 기준으로 한다.

#include <stdio.h>

int main(void) {
    unsigned int x=11u,y=7u;
    unsigned int z=(x & 7u) ^ (y << 1);
    printf("%u %u", z, x >> 2);
    return 0;
}
정답·해설 보기

정답

13 2

해설

x & 7은 하위 3비트를 남긴다. y를 왼쪽으로 한 비트 옮긴 값과 XOR하고, 두 번째 출력은 unsigned x를 오른쪽으로 두 비트 옮긴 값이다.

학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

답안과 비교한 결과

2025년 1회 주제 · 연습 12

소프트웨어 설계·구축

① 다른 모듈 내부 자료를 직접 수정 ② 필요한 일부 값 대신 레코드 구조 전체를 전달 ③ 공통 전역 자료를 공유하는 결합도를 쓰시오.

정답·해설 보기

정답

① 내용 결합도 ② 스탬프(자료구조) 결합도 ③ 공통 결합도

해설

구조 전체를 전달하면 쓰지 않는 필드의 변경에도 의존할 수 있다. 내부 침범인 내용 결합은 특히 강한 의존이다.

학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

답안과 비교한 결과

2025년 1회 주제 · 연습 13

프로그래밍 언어

다음 Java 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Java 21 기준이다.

public class Main {
    static class Base {
        int value=7;
        Base(){System.out.print(read()+" ");}
        int read(){return value;}
    }
    static class Child extends Base {
        int value=7;
        int read(){return value+1;}
    }
    public static void main(String[] args) {
        Child child=new Child();
        System.out.print(child.read());
    }
}
정답·해설 보기

정답

1 8

해설

부모 생성자 실행 시에도 read 호출은 Child의 재정의 메서드로 연결된다. 그때 Child.value의 명시적 초기화는 아직 실행되지 않아 기본값 0이다. 생성 완료 후에는 설정된 값에 1을 더한다.

학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

답안과 비교한 결과

2025년 1회 주제 · 연습 14

소프트웨어 설계·구축

기존 부품의 메서드 형식이 새 시스템이 기대하는 인터페이스와 달라 중간 객체가 호출 형식을 변환한다. 패턴을 쓰시오.

정답·해설 보기

정답

어댑터(Adapter)

해설

호환되지 않는 인터페이스를 연결하는 구조 패턴이다. 대리 객체로 접근을 통제하는 Proxy와 목적이 다르다.

학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

답안과 비교한 결과

2025년 1회 주제 · 연습 15

테스트·품질관리

실행문이 총 12개인 함수에서 테스트 중 서로 다른 실행문 9개가 실행되었다. 문장 커버리지를 백분율로 쓰시오.

정답·해설 보기

정답

75%

해설

실행한 문장 수 / 전체 실행 가능 문장 수 × 100 = 9/12 × 100이다. 같은 문장을 반복 실행해도 중복 계산하지 않는다.

학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

답안과 비교한 결과

2025년 1회 주제 · 연습 16

프로그래밍 언어

다음 Java 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Java 21 기준이다.

public class Main {
    static int max(int[] a,int l,int r){
        if(l==r)return a[l];
        int m=(l+r)/2;
        return Math.max(max(a,l,m),max(a,m+1,r));
    }
    public static void main(String[] args) {
        int[] a={3,12,5,7};
        System.out.print(max(a,0,a.length-1));
    }
}
정답·해설 보기

정답

12

해설

범위를 둘로 나누어 각 구간의 최대값을 재귀적으로 구한 뒤 둘 중 큰 값을 반환한다.

학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

답안과 비교한 결과

2025년 1회 주제 · 연습 17

프로그래밍 언어

다음 Python 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Python 3 기준이다.

f = lambda x, y=7: x*y+1
print(f(5), f(5, 2))
정답·해설 보기

정답

36 11

해설

첫 호출은 기본 인자 y를 사용한다. 두 번째 호출은 y에 2를 명시적으로 전달한다.

학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

답안과 비교한 결과

2025년 1회 주제 · 연습 18

프로그래밍 언어

다음 C 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. C11, ASCII 문자 집합을 기준으로 한다.

#include <stdio.h>
struct Node { int value; struct Node *next; };

int main(void) {
    struct Node c={9,NULL}, b={8,&c}, a={7,&b};
    struct Node *head=&a;
    a.next=c.next; c.next=&a; b.next=&c; head=&b;
    for (struct Node *p=head; p!=NULL; p=p->next)
        printf("%d", p->value);
    return 0;
}
정답·해설 보기

정답

897

해설

a의 다음은 NULL, c의 다음은 a, b의 다음은 c가 된다. head에서 b → c → a 순서로 따라가며 구분자 없이 출력한다.

학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

답안과 비교한 결과

2025년 1회 주제 · 연습 19

프로그래밍 언어

다음 C 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. C11, ASCII 문자 집합을 기준으로 한다.

#include <stdio.h>
struct Point { int x, y; };
struct Box { struct Point pos; int width; };

int main(void) {
    struct Box b={{4, 7}, 6};
    struct Box *p=&b;
    p->pos.x += p->width;
    printf("%d %d", b.pos.x, p->pos.y);
    return 0;
}
정답·해설 보기

정답

10 7

해설

바깥 구조체는 포인터로 접근하고 안쪽 pos는 구조체 값이므로 p->pos.x로 접근한다. 같은 b의 내부 필드가 수정된다.

학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

답안과 비교한 결과

2025년 1회 주제 · 연습 20

프로그래밍 언어

다음 Java 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Java 21 기준이다.

public class Main {
    static int f(int n) { return n<=1 ? n : f(n-1)+f(n-2); }
    public static void main(String[] args) {
        System.out.print(f(7));
    }
}
정답·해설 보기

정답

13

해설

f(0)=0, f(1)=1을 기저 조건으로, f(n)은 직전 두 값의 합이다. 같은 부분 문제가 여러 번 계산되는 재귀이다.

학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)

답안과 비교한 결과

답안과 확인 상태는 현재 브라우저에만 저장됩니다. ‘맞았어요’ 표시는 본인이 확인한 학습 기록이며 실제 시험 점수가 아닙니다.

카톡에서 정보 얻기