# 2019년도 1회 정보처리기사 실기 기출문제(복원)

- Author: @baealex
- Published: 2019-04-15
- Updated: 2019-04-15
- Source: http://blex.me/@baealex/2019%EB%85%84%EB%8F%84-1%ED%9A%8C-%EC%A0%95%EB%B3%B4%EC%B2%98%EB%A6%AC%EA%B8%B0%EC%82%AC-%EC%8B%A4%EA%B8%B0-%EA%B8%B0%EC%B6%9C%EB%AC%B8%EC%A0%9C%EB%B3%B5%EC%9B%90
- Tags: 정보처리기사

---

그냥 문제가 이런 유형으로 나왔다는 것을 보여드리기 위해서 작성하는 것이며 실제 문제와 완벽히 일치하는 것이 아니며 순서와 내용이 다소 다릅니다. 틀린 부분 지적은 언제나 감사합니다. 내용은 지속적으로 추가할 예정입니다 :)

<br/>

### 알고리즘

**1.** 다음은 1000이하의 숫자에서 약수의 합이 자신이 되는 숫자의 수를 구하는 순서도이다. 가령 6의 약수는 1, 2, 3이고 이들의 합은 6으로 자신과 같다.

**처리조건**

약수 중 가장 큰 수는 그 수를 2로 나눈 것 보다 작거나 같다. 짝수의 경우 자신을 제외한 큰 약수는 2를 나눈 값이다.

**사용변수**

- LM : 문제에서 주어진 수의 개수
- N,J,R

**그림**

![순서도 그림](https://static.blex.me/images/content/2020/2/24/1aI2pTiCOqdXXcDoq4cN.png "순서도 그림")

<details markdown="1">
<summary>정답 펼치기</summary>

1. J
2. R
3. SUM = SUM + J
4. N
5. LM + 1

</details>

<br>

**2.** 다음 소스코드의 출력결과를 작성하시오. 단, println 함수를 사용했음을 고려하시오.

**코드**

```java
class SuperClass {
    void paint() {
        draw();
    }
    void draw() {
        system.out.println("Super Object");
    }
}

class SubClass extends SuperClass {
    void paint() {
        super.paint();
        super.draw();
    }
    void draw() {
        system.out.println("Sub Object");
    }
}

public class SampleProgram {
    public static void main(String[] args) {
        SuperClass ex = new SubClass();
        ex.paint();
    }
}
```

<details markdown="1">
<summary>정답 펼치기</summary>

Sub Object<br/>Super Object 

</details>

<br>

**3.** 다음 소스코드의 출력결과를 작성하시오.

**코드**

```java
public static void main(String[] args) {
    int n = 0;

    for(int i=1; i<=110; i++) {
        if(i%4==0) {
            n++;
        }
    }

    system.out.println(n);
}
```

<details markdown="1">
<summary>정답 펼치기</summary>

27

</details>

<br>

**4.** 다음 코드는 입력받은 숫자의 자릿수를 전부 더하는 프로그램이다. 가령 1004를 입력받으면 천의 자리의 1과 백의 자리의 0과 십의 자리의 0과 일의 자리의 4가 더해져 5가된다. 빈칸을 완성하시오.

**코드**

```c
#include <stdio.h>

int main(void)
{
    int input = 0;
    int sum = 0;

    scanf("%d", &input);

    while(1)
    {
        if([  1  ] == 0)
        {
            break;
        }
        sum = sum + input%[  2  ];
        input = input/[  2  ];
    }

    printf("%d\n", sum);
    return 0;
}
```

<details markdown="1">
<summary>정답 펼치기</summary>

1. input
2. 10

</details>

<br/>

### 데이터베이스

**1.** ( 1 )가 주목받고 있는 이유는... ( 1 )을 컨트롤 하기 위해선 ( 2 )를 사용해야 한다... 중복된 릴레이션의 문제로 발생하는 현상을 ( 3 )현상이라고 한다...( 4 )...( 5 )...이행 함수 종속이란 A->B이고 B->C일때 ( 6 )가 만족하는 것이다.

<details markdown="1">
<summary>정답 펼치기</summary>

1. 빅데이터
1. DSMS
1. 이상
1. 부분함수종속
1. 2NF
1. A->C

</details>

<br>

**2.** 다음 테이블의 차수와 카디널리티의 갯수를 구하시오.

| 번호 | <span class="red">이름</span> | 이메일 | <span class="red">전화번호</span> |
|-------|-------|-------|-------|
| 1 | <span class="red">홍길동</span> | hong@daum.net | <span class="red">010-0000-0000</span> |
| 2 | <span class="red">강감찬</span> | kgc@hanmail.net | <span class="red">010-0000-1111</span> |
| 3 | <span class="red">이순신</span> | leess@naver.com | <span class="red">010-0000-2222</span> |

<details markdown="1">
<summary>정답 펼치기</summary>

- 차수 : 4
- 카디널리티 : 3

</details>

<br>

**3.** 데이터베이스에서 다른 사용자에게 권한을 부여하는 명령어는 ( 1 )이다.

( 1 ) SELECT, INSERT, DELETE, UPDATE ON 학생 TO 배진오;

부여한 권한을 회수할때 사용하는 명령어는 ( 2 )이다.

( 2 ) SELECT, INSERT, DELETE, UPDATE ON 학생 FROM 배진오;

<details markdown="1">
<summary>정답 펼치기</summary>

1. GRANT
2. REVOKE

</details>

<br>

**4.** 트랜잭션 A를 실행한 후 B에서 A의 변경된 내용을 볼 수 있고, 트랜잭션 B를 실행한 후 A에서 B의 변경된 내용을 볼 수 있으나, A, B가 동시에 실행될 수 없는 것은 트랜잭션의 어떤 특징 때문인가?

<details markdown="1">
<summary>정답 펼치기</summary>

독립성(Isolation)

</details>

<br/>

### 전산영어

When the signal ( 1 ) is received, the computer stops what it is doing, processes ( 1 ) and returns to its original state. The modern operating system consists primarily of ( 1 ).

( 2 ) automatically finds the driver when the user connects the input/output device and makes it easier to use the input/output device.

( 3 ) consists of flip-flops in the CPU and is the fastest in memory.

( 4 ) controls the operating system. Can be controlled using a shell.

( 5 ) is also called main memory.

<details markdown="1">
<summary>정답 펼치기</summary>

1. Interrupt
1. PnP(Plug and Play)
1. Register
1. Kernel
1. RAM

</details>

<br/>

### 신기술동향

- 정보보안

크라임웨어, 해시함수(해쉬함수), SSL, SET, Rootkit(루트킷)

- 신기술

SaaS, ITIL, RAID, 옵테인메모리, ...

<br/>

### 업무프로세스

SEM, BSC, 기업인수자, 일반투자자
