관리 메뉴

피터의 개발이야기

[정처기 실기] 정보처리기사 실기 - 2022년 3회 기출문제 본문

개발이야기/정보처리기사

[정처기 실기] 정보처리기사 실기 - 2022년 3회 기출문제

기록하는 백앤드개발자 2024. 3. 27. 21:48
반응형

ㅁ 들어가며

ㅇ 기출문제를 풀어보고 공부한 내용을 노트형태로 정리하였다.

홍달샘

  - 정보처리기사 실기 2022년 3회 - 기출해설특강 1~12

  - 정보처리기사 실기 2022년 3회 - 기출해설특강 13~20  

     ㄴ 문제 번호 클릭 -> 동영상 설명 이동

 정보처리기사 실기 2022년 3회 

ㅇ 시나공 2024년도 정보처리기사 필기 핵심요약을 참조.

 

 

1. 다음 중 형상관리 도구에 해당하는 것을 모두 고르시오.

 Ant, CVS, OLAP, Maven, SVN, Jenkins, OLTP, Git, Graddle
더보기

 CVS, SVN, Git

 

#핵심 111) 형상관리기능

※ 형상관리 절차 

형상 식별 - 형상 통제 - 형상 감사 - 형상 기록

 

ㅇ 통제 :  소프트웨어 형상 변경 요청을 검토하고 승인하여 현재의 베이스라인에 반영될 수 있도록 통제

 

 

2. 다음은 디자인 패턴에 대한 설명이다. 괄호안에 알맞는 답을 작성하시오.

( 1 ) 은 구현부에서 추상층을 분리하여 각자 독립적으로 변형이 가능 하고 확장이 가능하도록 합니다. 즉 기능과 구현에 대해서 두 개를 별도의 클래스로 구현을 합니다.
( 2 ) 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고, 자동으로 내용이 갱신되는 방식의 패턴이다.
더보기

1.  Bridge

2. Observer

 

# 핵심 064 디자인 패턴

 

3. 다음은 UML에 관한 설명이다. 괄호안에 알맞는 답을 작성하시오.

UML은 통합 모델링 언어로써, 시스템을 모델로 표현해주는 대표적인 모델링 언어이다.
구성 요소로는 사물, (  1  ), 다이어그램으로 이루어져 있으며, 
구조 다이어그램 중, (  2  ) 다이어그램은 시스템에서 사용되는 객체 타입을 정의하고, 그들 간의 존재하는 정적인 관계를 다양한 방식으로 표현한 다이어그램이다.  
또한 UML 모델링에서 (  3 )은/는 클래스와 같은 기타 모델 요소 또는 컴포넌트가 구현해야 하는 오퍼레이션 세트를 정의하는 모델 요소이다.
더보기

1. 관계

2. 클래스

3. 인터페이스

 

핵심 025) 다이어그램(Diagram)

  ㄴ 구조적, 행위 다이어그램

 

핵심 028) 클래스(Class) 다이어그램

 

 

핵심 024) 관계(Relationships)

ㅇ 일반화(Generalization) 관계
 ㄴ 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현

ㅇ 연관(Association) 관계

 ㄴ 2개 이상의 사물이 서로 관련되어 있음을 표현

ㅇ 의존(Dependency) 관계
 ㄴ 의존관계는 연관관계와 같이 사물사이에 서로 연관은 있으나 필요에 의해 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계
 ㄴ일반적으로 한 클래스가 다른 클래스를 오퍼레이션의 매개 변수로 사용하는 경우에 나타나는 관계이다.
ㅇ 실체화(Realization) 관계
 ㄴ사물이 할 수 있거나 해야하는 기능(행위,인터페이스)으로 서로를 그룹화 할 수 있는 관계를 표현

ㅇ 집약관계(Aggregation)
 ㄴ전체 객체의 라이프타임과 부분 객체의 라이프타임은 독립적
ㅇ 합성관계(Composition)
 ㄴ부분 객체가 전체 객체에 속하는 관계로 긴밀한 필수적 관계

 

 

 

4. 다음과 같이 점수에 따른 금액을 출력하는 알고리즘이 있다. 테스트 입력값을 보고 이와 같은 테스트의 명칭을 적으시오.

[입출력]
점수: 90~100 → 금액: 700만원
점수: 80~89 → 금액: 500만원
점수: 70~79 → 금액: 300만원
점수: 0~69 → 금액: 0만원

[테스트 입력값]
-1, 0, 1, 69, 70, 71, 79, 80, 81, 89, 90, 91, 99, 100, 101
더보기

경계값 분석(Boundary Value Analysis)

 

# 핵심 131) 블랙박스 테스트의 종류

동치분할, 경계값 분석, 원인-효과 그래프 검사, 오류 예측 검사, 비교 검사

 

 

5. 아래에 설명하는 용어를 작성하시오.

여러 개의 사이트에서 한번의 로그인으로 여러가지 다른 사이트들을 자동적으로 접속하여 이용하는 방법을 말한다.
하나의 시스템에서 인증을 할 경우 타 시스템에서는 인증 정보가 있는지 확인하고 있으면, 로그인 처리를 하도록 하고, 없는 경우, 다시 통합 인증을 할 수 있도록 만드는 것을 의미한다.

 

# 핵심 339) 네트워크 관련 신기술

 

 

6. 다음은 E-R다이어그램의 표기 방법이다. 각 칸에 들어갈 알맞은 답을 골라 쓰시오.

다중값 속성,  기본키 속성, 개체 타입, 속성, 관계 타입, 속성, 복합 속성, 속성 연결
더보기

A: 개체타입

B: 관계타입

C: 속성

D: 다중값 속성

E: 기본키 속성

F: 복합 속성

H: 속성 연결

 

# 핵심 169) E-R 다이어그램

 

7. 다음은 프로세스 스케줄링에 관련된 내용이다. 괄호에 맞는 답을 작성하시오.

( a ) : 선점형 스케줄링 기법으로 CPU 점유 시간이 가장 짧은 프로세스에 CPU를 먼저 할당하는 방식
( b ) : 시간단위(Time Quantum/slice)를 정해서 프로세스를 순서대로 CPU를 할당하는 방식
( c ) : 비 선점형 스케줄링 기법으로 실행시간이 가장 짧은 프로세스에게 CPU를 할당하는 방식
더보기

a: SRT

b: RR

c: SJF

 

 

# 공부팁: 흥달쌤 동영상 검색하여 개별 스케줄링 시청하면 도움됨

[Q&A] 운영체제 | 프로세스 스케줄링 <= 메인 설명

 

※ 선점형 기법

• Round Robin: 시간 슬라이스를 할당하여 프로세스에게 시간을 배분 , 시분할처리

  ㄴ [정보처리특강] 프로세스 스케줄링 - 라운드 로빈(Round Robin)
• SRT(Shortest Remaining Time): 실행 시간이 짧은 것 우선

  ㄴ [Q&A] 프로세스 스케줄링 | SRT
• 다단계 큐(MLQ, Multi-Level Queue): 실시간, 일반, 배치 큐를 생성하여 할당. 실시간을 우선 처러
• 다단계 피드백 큐(MLFQ, Multi-Level Feedback Queue): 실시간(2초), 일반(4초), 배치(RR)로 처리

 

ㅇ 프로세스를  강제로 점유할 수 있음.

ㅇ 기아현상과 에이징기법

 ㄴ SRT, 다단계 큐는 기아현상하여 이를 예방하기 위해  에이징기법(다단계 피드백 큐)이 생김

 

※ 비선점형 기법
• FCFS(First Come First Serve)
• SJF(Shortest Job First)
• HRN(Highest Response ratio Next)

  ㄴ (대기시간 + 서비스 시간) / 서비스 시간
• 우선순위(Priority)
• 기한부(Deadline)

 

ㅇ 기아현상: SJF, 우선순위, 에이징기법: HRN

 

# 핵심 302) 주요 스케줄링 알고리즘

 

8. 192.168.1.0/24 네트워크를 FLSM 방식으로 3개의 서브넷으로 나눴을때, 두번째 네트워크의 브로드캐스트 아이피를 쓰시오.

더보기

192.168.1.127

 

 

# FLSM (Fixed Length Subnet Mask)
- 서브넷의 길이를 고정적으로 사용하는 것

 

# VLSM (Variable - Length Subnet Mask)
- 서브넷의 길이를 가변적으로 사용하는 것

 

# FLSM 방식으로 3개 서브넷

192.168.1.0/24 => 192.168.1.0~ 192.168.1.255을 고정적 크기로 나누기 때문에 4개로 나누어야함.

2진수 기준으로 8자리 중 앞 2자리

00, 01, 10, 11로 나누어지며,

00 000000~ 00 11111111 => 0~63

01 000000~ 01 11111111 => 64~127

10 000000~ 10 11111111 => 128~191

11 000000~ 11 11111111 => 192~255

 

ㅇ 계산식으로 

32-24=8,  2의 8승 = 256개의 IP를 동등하게 4로 나누어 계산

 

ㅇ 브로드캐스트는 대역의 마지막 IP.

 

 

9. 아래 설명에 대한 알맞은 답을 작성하시오

( A ) 기술적인 방법이 아닌 사람들 간의 기본적인 신뢰를 기반으로 사람을 속여 비밀정보를 획득하는 기법
( B ) 기업이 정보를 수집한 후, 저장만 하고 분석에 활용하고 있지 않은 다량의 데이터
더보기

A: 사회공학

B: 다크 데이터

 

 

10. 아래 설명에 대한 알맞은 답을 작성하시오

네트워크 하드웨어 및 응용 프로그램에 의해 생성된 보안 경고의 실시간 분석을 제공한다.
빅데이터 수준의 데이터를 장시간 심층 분석한 인덱싱 기반이다.
주요기능은 데이터 통합, 상관관계, 알림, 대시보드
더보기

SIEM

 

11. 아래 설명에 대하여 알맞는 답을 작성하시오.

( 1 )은/는 프로세서(processor) 안에 독립적인 보안 구역을 따로 두어 중요한 정보를 보호하는 ARM사에서 개발한 하드웨어 기반의 보안 기술로 프로세서(processor) 안에 독립적인 보안 구역을 별도로 하여, 중요한 정보를 보호하는 하드웨어 기반의 보안 기술이다.
( 2 )은/는 사용자들이 사이트에 접속할 때 주소를 잘못 입력하거나 철자를 빠뜨리는 실수를 이용하기 위해 유사한 유명 도메인을 미리 등록하는 일로 URL 하이재킹(hijacking)이라고도 한다.
더보기

1: Trust Zone

2: 타이포스쿼팅(Typosquattiong)

 

12. 다음 항목에 맞는 관계대수 기호를 작성하시오.

항목 기호
합집합 A( U )B
차집합 A( - )B
카티션 프로덕트 A( X )B
프로젝트 A( π )B
조인 A( ▷◁ )B

 

 

※ 관계대수 연산자

순수 관계 연산자 SELECT(®), PROJECT (t), JOIN(▷◁), DIVISION(+)
일반 집합 연산자 합집합(U), 고집합(n), 차집합(-), 카티션 프로덕트(X)

 

 

13. 아래의 테이블에서, SQL 명령을 수행할 경우 알맞은 값을 작성하시오.

insert into 부서 (부서코드, 부서명) values(10, '영업팀');
insert into 부서 (부서코드, 부서명) values(20, '개발팀');
insert into 부서 (부서코드, 부서명) values(30, '기획팀');
insert into 직원 (직원코드, 부서코드) value (1000, '10');
insert into 직원 (직원코드, 부서코드) value (2000, '10');
insert into 직원 (직원코드, 부서코드) value (3000, '10');
insert into 직원 (직원코드, 부서코드) value (4000, '20');
insert into 직원 (직원코드, 부서코드) value (5000, '20');
insert into 직원 (직원코드, 부서코드) value (6000, '30');
insert into 직원 (직원코드, 부서코드) value (7000, '30');

SELECT DISTINCT COUNT(직원코드) FROM 직원 WHERE 부서코드 = '10';
DELETE FROM 부서 WHERE 부서코드 = '10';
SELECT DISTINCT COUNT(직원코드) FROM 직원;

 

 

14. STUDENT 테이블에서 컴퓨터과 학생 50명, 전기과 학생 100명, 인터넷과 학생 50명의 정보가 저장되어 있을 때, 다음 SQL문의 실행 결과에 따른 튜플의 수는? (단, DEPT 칼럼은 학과명이다.)

1) SELECT DERP FROM STUDENT;
2) SELECT DISTINCT DEPT FROM STUDENT;
3) SELECT COUNT(DISTINCT DEPT) FROM STUDENT WHERE DEPT = '인터넷과';
더보기

1) 200

2) 3

3) 1

 

15. 다음 프로그램의 출력결과를 2차원 배열 형태로 작성하시오.

void main{
 
field {{0,1,0,1},{0,0,0,1},{1,1,1,0},{0,1,1,1}};
mines {{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}}; 
 
 int calculate(w,h,j,i) {
  if (i >= 0 && i < h && j >= 0 && j < w) return 1;
  return 0;
}
 
int w = 4, h = 4;
for(y=0; y<h; y++) {
  for(x=0; x<w; x++) {  
    if(field[y][x] == 0) continue;
    
    for(i=y-1; i<=y+1; i++) {
      for(j=x-1; j<=x+1; j++) {
        if(calculate(w,h,j,i) == 1) {
          mines[i][j] += 1;
        }
      }
    }
  }
}
for(y=0; y<h; y++){
  for(x=0; x<w; x++)
    printf("%d", mines[y][x]);
    printf("n");
  }
}

 

# 그냥 패스해도 되는 문제.

QA 해설동영상은 있음

 

 

16. 아래 코드에 대한 출력 값을 작성하시오.

void main{
 
int []result = int[5];
int []arr = [77,32,10,99,50];
 
  for(int i = 0; i < 5; i++) {
    result[i] = 1;
    for(int j = 0; j < 5; j++) {
      if(arr[i] <arr[j]) result[i]++;
    }
  }
 
  for(int k = 0; k < 5; k++) {
    printf(result[k]);
  }
}
더보기

24513

 

17. 다음 코드에 대한 출력 값을 작성하시오.

var x,y;
var cnt=0;
 
for(var i=6; i<=30; i++){
  x=0;
  y=i/2;
  for(var j=1; j<=y; j++){
    if(i%j==0){
      x=x+j;
    }
  }
  if(x==i){
    cnt++;
  }
}

printf("%d", cnt);

 

javascript로 풀어봄.

 

 

18. 다음 자바 코드에 대한 출력 값을 작성하시오.

public class Main {

  static int[] MakeArray(){
    int[] tempArr = new int[4];
    for(int i=0; i<tempArr.Length;i++){
      tempArr[i] = i;
    }
    return tempArr;
  }
  
  public static void main(String[] args){
    int[] intArr = MakeArray();
    for(int i=0; i < intArr.Length; i++)
      System.out.print(intArr[i]);
  }
}
더보기

0123

 

 

19. 다음 자바 코드에 대한 출력 값을 작성하시오.

public class Exam {
  public static void main(String[] args){
  
  int max = 0;
  for(int i=1; i<999; i++){
    if(i%3==0 && i%2!=0)
      max = i;
  }
  System.out.print(a);
}
더보기

 993

 

 

 

20. 다음 파이썬 코드에 대한 출력값을 작성하시오.

TestList = [1,2,3,4,5]
TestList = list(map(lambda num : num + 100, TestList))
 
print(TestList)

 

반응형
Comments