정보처리기사 · 실기

2020년 3회 정보처리기사 실기 기출 유형

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

← 회차 목록

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

20문항미확인 20문항

2020년 3회 주제 · 연습 1

소프트웨어 설계·구축

외부에서 관찰되는 기능은 유지하면서 중복 코드를 함수로 추출하고 긴 메서드를 나누었다. 이 작업을 무엇이라 하는지 쓰시오.

정답·해설 보기

정답

리팩터링(Refactoring)

해설

동작을 유지하면서 내부 구조를 개선한다. 기능 추가나 오류 수정 자체와는 목적이 다르며 회귀 테스트가 도움이 된다.

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

답안과 비교한 결과

2020년 3회 주제 · 연습 2

프로그래밍 언어

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

#include <stdio.h>

int main(void) {
    int result=0;
    for (int i=1; i<=6; i++) result *= i;
    printf("%d", result);
    return 0;
}
정답·해설 보기

정답

0

해설

누적 곱의 초기값이 0이므로 어떤 수를 곱해도 0이다. 곱셈 누적의 항등원은 1이라는 점을 확인한다.

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

답안과 비교한 결과

2020년 3회 주제 · 연습 3

네트워크·운영체제

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

정답·해설 보기

정답

OSPF

해설

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

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

답안과 비교한 결과

2020년 3회 주제 · 연습 4

소프트웨어 설계·구축

기준선으로 승인한 산출물의 변경 요청을 검토하고, 변경 이력과 버전을 추적하여 제품 구성을 일관되게 유지하는 관리 활동을 쓰시오.

정답·해설 보기

정답

형상 관리(SCM)

해설

형상 식별, 변경 통제, 상태 보고, 형상 감사 등을 포함한다. 버전 관리는 형상 관리의 일부이다.

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

답안과 비교한 결과

2020년 3회 주제 · 연습 5

네트워크·운영체제

서로 다른 장비가 메시지 형식·의미·교환 순서를 동일하게 해석하도록 약속한 통신 규칙의 집합을 쓰시오.

정답·해설 보기

정답

프로토콜(Protocol)

해설

통신 당사자가 공통으로 따르는 규약이다. 규약의 대표 요소는 구문, 의미, 타이밍이다.

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

답안과 비교한 결과

2020년 3회 주제 · 연습 6

네트워크·운영체제

IP 통신의 목적지 도달 불가 같은 오류 보고와 진단 메시지에 쓰이며, ping의 Echo 요청·응답도 제공하는 프로토콜을 쓰시오.

정답·해설 보기

정답

ICMP

해설

ICMP는 인터넷 제어 메시지 프로토콜이다. 응용 데이터의 신뢰성 있는 전달을 보장하는 전송 프로토콜은 아니다.

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

답안과 비교한 결과

2020년 3회 주제 · 연습 7

테스트·품질관리

if 문의 참 결과는 실행했지만 거짓 결과는 한 번도 실행하지 않았다. 이 if 하나만 있을 때 분기 커버리지의 비율과 100%를 만들 추가 조건을 쓰시오.

정답·해설 보기

정답

50%. 조건식이 거짓이 되는 테스트를 추가한다.

해설

분기 커버리지는 실행한 분기 결과 수를 전체 분기 결과 수로 나눈다. 참과 거짓 두 결과 중 하나만 실행했으므로 1/2이다.

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

답안과 비교한 결과

2020년 3회 주제 · 연습 8

SQL·데이터베이스

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

Scores
idnameteamscorementor
1AriA65NULL
2BoraB601
3CianA651
4DaniBNULL2
5EvanA502
SELECT team, MIN(score), MAX(score), COUNT(*)
FROM Scores GROUP BY team HAVING COUNT(*) >= 3
ORDER BY team;
정답·해설 보기

정답

A 50 65 3

해설

team별로 묶은 뒤 행 수가 3 이상인 그룹을 남긴다. MIN·MAX는 NULL 점수를 집계에서 제외한다.

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

답안과 비교한 결과

2020년 3회 주제 · 연습 9

SQL·데이터베이스

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

Scores
idnameteamscorementor
1AriA64NULL
2BoraB591
3CianA641
4DaniBNULL2
5EvanA492
DELETE FROM Scores WHERE score < 54;
SELECT id FROM Scores ORDER BY id;
정답·해설 보기

정답

1 2 3 4

해설

조건이 참인 행만 삭제한다. NULL과 숫자의 비교 결과는 UNKNOWN이므로 NULL 점수 행은 이 조건으로 삭제되지 않는다.

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

답안과 비교한 결과

2020년 3회 주제 · 연습 10

SQL·데이터베이스

수강(학생, 과목) 관계에서 필수과목 관계에 들어 있는 모든 과목을 수강한 학생을 구한다. 이때 대응하는 관계대수 연산과 기호를 쓰시오.

정답·해설 보기

정답

디비전(Division), ÷

해설

제수 관계에 있는 모든 값과 연결되는 피제수의 나머지 속성 값을 찾는다. 일부 과목만 수강한 학생을 고르는 연산이 아니다.

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

답안과 비교한 결과

2020년 3회 주제 · 연습 11

소프트웨어 설계·구축

변수의 자료형이나 용도를 나타내는 짧은 접두사를 이름 앞에 붙여 nCount, strTitle처럼 명명하는 관례의 이름을 쓰시오.

정답·해설 보기

정답

헝가리안 표기법

해설

접두사로 형식 또는 의미를 나타내는 명명 관례이다. 모든 언어에서 사용해야 하는 필수 규칙은 아니다.

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

답안과 비교한 결과

2020년 3회 주제 · 연습 12

테스트·품질관리

소스 코드의 분기 구조를 보지 않고 명세의 입력·출력 관계로 테스트를 설계했다. 이 테스트 기법의 분류와 대표 기법 두 가지를 쓰시오.

정답·해설 보기

정답

블랙박스 테스트. 예: 동등 분할, 경계값 분석

해설

결정 테이블, 상태 전이, 유스케이스 테스트 등도 대표 기법이다. 문장·분기 커버리지는 구조 기반 테스트와 관련된다.

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

답안과 비교한 결과

2020년 3회 주제 · 연습 13

프로그래밍 언어

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

#include <stdio.h>

int main(void) {
    int data[] = {3, 7, 10, 12};
    int *p=data+1;
    p[1] += 8;
    printf("%d %d %d", *p, *(p+1), data[3]-data[0]);
    return 0;
}
정답·해설 보기

정답

7 18 9

해설

p는 data[1]을 가리킨다. p[1]과 *(p+1)은 모두 data[2]이므로 같은 원소가 수정된다.

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

답안과 비교한 결과

2020년 3회 주제 · 연습 14

SQL·데이터베이스

데이터베이스의 테이블 구조, 속성, 관계와 제약 조건을 정의한 논리적 틀을 무엇이라 하는지 쓰시오.

정답·해설 보기

정답

스키마(Schema)

해설

스키마는 구조의 정의이고, 특정 시점에 저장된 실제 데이터 값의 집합인 인스턴스와 구별한다.

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

답안과 비교한 결과

2020년 3회 주제 · 연습 15

프로그래밍 언어

다음 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+8);}
        @Override int read(){return super.read()*2;}
    }
    public static void main(String[] args) {
        Base item=new Child(7);
        System.out.print(item.read());
    }
}
정답·해설 보기

정답

30

해설

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

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

답안과 비교한 결과

2020년 3회 주제 · 연습 16

소프트웨어 설계·구축

처음 방문한 사용자도 별도의 설명 없이 메뉴의 의미와 조작 방법을 알아차리도록 화면을 설계한다. 이 UI 설계 원칙을 쓰시오.

정답·해설 보기

정답

직관성

해설

익숙한 표현과 명확한 시각적 단서를 이용해 조작 방법을 쉽게 이해하게 하는 원칙이다.

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

답안과 비교한 결과

2020년 3회 주제 · 연습 17

프로그래밍 언어

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

public class Main {
    static int count=6;
    Main(){count++;}
    public static void main(String[] args) {
        new Main();
        new Main();
        System.out.print(Main.count);
    }
}
정답·해설 보기

정답

8

해설

static 필드는 인스턴스마다 따로 생기지 않고 클래스에 공유된다. 객체를 두 개 만들면서 같은 count가 두 번 증가한다.

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

답안과 비교한 결과

2020년 3회 주제 · 연습 18

소프트웨어 설계·구축

기업 애플리케이션 통합에서 ① 시스템 쌍마다 직접 연결하는 구조 ② 중앙 허브가 여러 시스템의 연계를 중개하는 구조를 쓰시오.

정답·해설 보기

정답

① Point-to-Point ② Hub-and-Spoke

해설

직접 연결은 연결 수가 빠르게 늘 수 있다. 허브 방식은 중앙 집중 관리가 쉽지만 허브의 성능과 장애 대응이 중요하다.

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

답안과 비교한 결과

2020년 3회 주제 · 연습 19

프로그래밍 언어

Java에서 객체 생성 시 초기화를 수행하고 클래스 이름과 같은 이름을 사용하며 반환형을 선언하지 않는 구성 요소를 쓰시오.

정답·해설 보기

정답

생성자(Constructor)

해설

생성자는 메서드와 달리 반환형을 쓰지 않는다. 오버로딩할 수 있지만 상속되거나 오버라이딩되지는 않는다.

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

답안과 비교한 결과

2020년 3회 주제 · 연습 20

SQL·데이터베이스

Scores 테이블에 정수형 attempt 열을 추가하고 기본값을 1로 지정하는 SQL을 작성하시오.

정답·해설 보기

정답

ALTER TABLE Scores ADD COLUMN attempt INTEGER DEFAULT 1;

해설

기존 테이블 구조 변경에는 ALTER TABLE을 사용한다. 여기서는 표준적인 ADD COLUMN 문법을 사용하는 DBMS를 가정한다.

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

답안과 비교한 결과

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

카톡에서 정보 얻기