정보처리기사 · 실기

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

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

← 회차 목록

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

20문항미확인 20문항

2024년 1회 주제 · 연습 1

프로그래밍 언어

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

public class Main {
    static class Counter {
        private static final Counter ONE=new Counter();
        int value=4;
        private Counter(){}
        static Counter get(){return ONE;}
    }
    public static void main(String[] args) {
        Counter a=Counter.get(), b=Counter.get();
        a.value+=2; b.value+=5;
        System.out.print((a==b)+" "+a.value);
    }
}
정답·해설 보기

정답

true 11

해설

get은 항상 같은 ONE 객체를 반환한다. a와 b의 참조가 같고 두 변수의 변경이 같은 value 필드에 누적된다.

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

답안과 비교한 결과

2024년 1회 주제 · 연습 2

프로그래밍 언어

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

#include <stdio.h>

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

정답

12 3

해설

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

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

답안과 비교한 결과

2024년 1회 주제 · 연습 3

소프트웨어 설계·구축

다음 응집도를 일반적으로 약한 것에서 강한 순으로 배열하시오: 기능적, 우연적, 순차적, 논리적, 시간적, 통신적, 절차적.

정답·해설 보기

정답

우연적 → 논리적 → 시간적 → 절차적 → 통신적 → 순차적 → 기능적

해설

교재에서 사용하는 대표적인 응집도 순서이다. 통신적 응집도는 교환적 응집도라고도 한다.

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

답안과 비교한 결과

2024년 1회 주제 · 연습 4

프로그래밍 언어

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

#include <stdio.h>

int main(void) {
    char s[]="STREAM";
    for (int l=0,r=5; l<r; l++,r--) {
        char t=s[l]; s[l]=s[r]; s[r]=t;
    }
    for (int i=0; i<6; i+=2) printf("%c", s[i]);
    return 0;
}
정답·해설 보기

정답

MET

해설

양 끝 문자를 교환하며 문자열을 뒤집는다. 이후 역순 문자열의 인덱스 0, 2, 4만 출력한다.

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

답안과 비교한 결과

2024년 1회 주제 · 연습 5

네트워크·운영체제

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

정답·해설 보기

정답

192.168.14.0 192.168.14.63 62개

해설

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

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

답안과 비교한 결과

2024년 1회 주제 · 연습 6

SQL·데이터베이스

R(학생, 과목, 교사)에 (학생, 과목)→교사, 교사→과목이 성립한다. 후보키는 (학생, 과목)과 (학생, 교사)이다. 모든 속성이 원자값일 때 3NF와 BCNF 충족 여부를 쓰시오.

정답·해설 보기

정답

3NF는 충족하지만 BCNF는 충족하지 않는다.

해설

교사→과목의 결정자인 교사는 슈퍼키가 아니다. 종속 속성 과목은 후보키의 일부인 주요 속성이므로 3NF는 허용하지만 BCNF는 허용하지 않는다.

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

답안과 비교한 결과

2024년 1회 주제 · 연습 7

네트워크·운영체제

같은 자율 시스템 안에서 링크 상태 정보를 교환하고 다익스트라 알고리즘으로 최단 경로를 계산하는 라우팅 프로토콜을 쓰시오.

정답·해설 보기

정답

OSPF

해설

OSPF는 링크 상태 방식의 IGP이다. RIP의 거리 벡터 방식 및 BGP의 경로 벡터 방식과 구별한다.

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

답안과 비교한 결과

2024년 1회 주제 · 연습 8

SQL·데이터베이스

① 일반 비교 조건으로 연결 ② 등호 조건으로 연결 ③ 이름이 같은 모든 공통 속성을 등호로 비교하고 중복 공통 열을 하나로 표시하는 조인을 쓰시오.

정답·해설 보기

정답

① 세타 조인 ② 동등(등가) 조인 ③ 자연 조인

해설

동등 조인은 세타 조인의 한 종류이다. 자연 조인의 공통 열은 이름을 기준으로 자동 결정되므로 주의한다.

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

답안과 비교한 결과

2024년 1회 주제 · 연습 9

네트워크·운영체제

페이지 교체에서 ① 가장 오래 참조되지 않은 페이지 ② 참조 횟수가 가장 적은 페이지를 내보내는 알고리즘을 쓰시오.

정답·해설 보기

정답

① LRU ② LFU

해설

LRU는 최근성, LFU는 빈도를 이용한다. LFU의 동률 처리 규칙은 별도로 정해야 한다.

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

답안과 비교한 결과

2024년 1회 주제 · 연습 10

프로그래밍 언어

다음 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=5;
        int read(){return value+1;}
    }
    public static void main(String[] args) {
        Child child=new Child();
        System.out.print(child.read());
    }
}
정답·해설 보기

정답

1 6

해설

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

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

답안과 비교한 결과

2024년 1회 주제 · 연습 11

프로그래밍 언어

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

#include <stdio.h>
struct Item { int count; double price; };

int main(void) {
    struct Item x={4, 5.5};
    struct Item *p=&x;
    p->count += 2;
    printf("%d %.1f", x.count, p->count*p->price);
    return 0;
}
정답·해설 보기

정답

6 33.0

해설

구조체 포인터 p는 x의 주소를 가진다. p->count 수정은 x.count에 반영되며, 수정된 개수와 단가를 곱한다.

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

답안과 비교한 결과

2024년 1회 주제 · 연습 12

프로그래밍 언어

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

words = ['map', 'stack', 'queue']
print("".join(word[0].upper() for word in words))
정답·해설 보기

정답

MSQ

해설

각 단어의 첫 글자를 대문자로 바꾼 후 빈 문자열을 구분자로 연결한다.

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

답안과 비교한 결과

2024년 1회 주제 · 연습 13

SQL·데이터베이스

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

Scores
idnameteamscorementor
1AriA66NULL
2BoraB611
3CianA661
4DaniBNULL2
5EvanA512
SELECT child.name, parent.name
FROM Scores child JOIN Scores parent ON child.mentor = parent.id
WHERE child.team = 'A' ORDER BY child.id;
정답·해설 보기

정답

Cian Ari Evan Bora

해설

같은 테이블을 별칭 둘로 참조한다. child의 mentor와 parent의 id가 같은 행을 연결하고 자녀 행의 팀 조건을 적용한다.

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

답안과 비교한 결과

2024년 1회 주제 · 연습 14

테스트·품질관리

복합 결정에서 각 개별 조건 하나가 다른 조건 값을 고정한 상태로 결정 결과를 독립적으로 바꿀 수 있음을 보여 주는 커버리지를 쓰시오.

정답·해설 보기

정답

MC/DC(수정 조건/결정 커버리지)

해설

단순히 모든 조건이 참·거짓을 한 번씩 갖는 것보다 강한 독립 영향 증명을 요구한다.

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

답안과 비교한 결과

2024년 1회 주제 · 연습 15

정보보안

운영체제의 동작을 후킹하거나 수정해 악성 프로세스·파일을 숨기고 공격자의 권한 유지를 돕는 도구 집합을 쓰시오.

정답·해설 보기

정답

루트킷(Rootkit)

해설

탐지 회피와 은닉 기능이 핵심 특징이다. 감염 경로나 최초 침투 방법 하나를 가리키는 명칭은 아니다.

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

답안과 비교한 결과

2024년 1회 주제 · 연습 16

프로그래밍 언어

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

public class Main {
    static class Base { int value; Base(int v){value=v;} int read(){return value;} }
    static class Child extends Base {
        Child(int v){super(v+5);}
        @Override int read(){return super.read()*2;}
    }
    public static void main(String[] args) {
        Base item=new Child(4);
        System.out.print(item.read());
    }
}
정답·해설 보기

정답

18

해설

Child 생성자가 super에 4+5을 전달한다. 변수의 선언형은 Base여도 실제 객체가 Child이므로 재정의한 read가 실행되고 부모의 값에 2를 곱한다.

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

답안과 비교한 결과

2024년 1회 주제 · 연습 17

정보보안

특정 조직을 대상으로 오랜 기간 은밀하게 침투를 유지하며 여러 기법을 조합해 정보를 탈취하는 지속적 표적 위협의 약어를 쓰시오.

정답·해설 보기

정답

APT

해설

Advanced Persistent Threat이다. 단발성 공격 도구 이름이 아니라 공격 주체·캠페인의 특성을 나타낸다.

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

답안과 비교한 결과

2024년 1회 주제 · 연습 18

SQL·데이터베이스

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

Scores
idnameteamscorementor
1AriA61NULL
2BoraB561
3CianA611
4DaniBNULL2
5EvanA462
SELECT COUNT(*), COUNT(score), COUNT(DISTINCT score)
FROM Scores WHERE id <= 5;
정답·해설 보기

정답

5 4 3

해설

COUNT(*)는 행 수, COUNT(score)는 NULL이 아닌 점수 수, COUNT(DISTINCT score)는 NULL을 제외한 서로 다른 점수의 수를 센다.

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

답안과 비교한 결과

2024년 1회 주제 · 연습 19

프로그래밍 언어

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

#include <stdio.h>

int main(void) {
    char s[]="AZBY";
    for (int i=0; s[i]; i++) s[i]='A'+(s[i]-'A'+1)%26;
    printf("%s",s);
    return 0;
}
정답·해설 보기

정답

BACZ

해설

대문자를 0~25로 바꾼 뒤 1칸 이동하고 26으로 나눈 나머지를 이용해 Z 다음을 A로 순환한다. ASCII 문자 집합을 가정한다.

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

답안과 비교한 결과

2024년 1회 주제 · 연습 20

소프트웨어 설계·구축

Windows용 버튼·체크박스와 Linux용 버튼·체크박스처럼 서로 관련된 제품군을 일관되게 생성하는 인터페이스를 제공하는 패턴을 쓰시오.

정답·해설 보기

정답

추상 팩토리(Abstract Factory)

해설

구체적인 제품 클래스 의존을 감추고 같은 제품군의 객체들을 함께 생성한다.

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

답안과 비교한 결과

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

카톡에서 정보 얻기