본문 바로가기
정보처리기사

정보처리기사 실기 2023-3 기출문제(.md)

by universedevelope 2024. 8. 30.

정보처리기사 실기 2023-3 기출문제 입니다.

첨부파일은 .md 파일로 직접 정리한 텍스트 문서이니 참고해주시면 됍니다.

(내용은 아래 출처를 참고했습니다.)

 

* 간혹 답이랑 혼잣말이 섞여있을 수 있어요.. ㅜㅜ

 

--- [정보처리기사 - 2023-3]

--- 01. 다음은 Java 코드다. 올바른 출력 결과를 작성하시오.
	  ===========================================================================================================
	> public class main
	  {
	      public static void main(String [] args)
	      {
		  A b = new B ();	// 상위 클래스 A 의 인스턴스를 B 로 초기화한다.
		  b.paint();		// b.paint()는 B클래스의 paint() 메소드 이다.
		  b.draw();		// b.draw() 는 B클래스의 draw()이다.
	      }
	  }

	  class A
	  {
	      public void paint()
	      {
		  System.out.print("A");	
		  draw();
	      }

	      public void draw()
	      {
		  System.out.print("B");	
		  draw();			??
	      }
	  }

	  class B extends A
	  {
	      public void paint()
	      {
		  super.draw();
		  System.out.print("C");
		  this.draw();
	      }

	      public void draw()
	      {
		  System.out.print("D");
	      }
	  }
	  ===========================================================================================================	  
	  - super.draw() : B
	          draw() : D
            print(C)     : C
            this.draw()  : D
            b.draw       : D

          - BDCDD

--- 02. 다음 설명하는 용어를 보기에 맞게 골라 기호를 작성하시오.
	> 사용자가 사용자 이름 및 암호화 같은 자격 증명을 공유하지 않고도 타사 애플리케이션이 데이터 또는 리소스에 엑
	  세스 할 수 있도록 권한을 부여할 수 있는 개방형 표준 프로토콜이다.

	> 사용자가 데이터에 대한 제어를 유지하면서 리소스에 대한 엑세스권한을 부여할 수 있는 안전하고 표준화된 방법을
	  제공하며, 엑세스 토큰을 사용하여 타사 애플리케이션에 리소스에 대한 엑세스 권한을 부여하는 메커니즘을 사용자
	  에게 제공하는 방식으로 작동한다.

	> 사용자가 응용 프로그램에 대한 엑세스 권한을 부여하면 응용 프로그램은 사용자를 대신하여 사용자의 리소스 또는
	  데이터에 엑세스하는 데 사용할 수 있는 엑세스 토큰을 받는다.

	> 암호와 같은 사용자의 자격 증명은 타사 응용 프로그램과 공유되지 않으며 클라우드 스토리지 서비스, 온라인 마켓
	  플레이스 및 금융 서비스를 포함한 다른 많은 응용 프로그램 및 서비스에서도 사용된다.

	> Facebook, Twitter 및 LinkedIn과 같은 소셜 미디어 플랫폼에서 널리 사용되어 사용자가 소셜미디어 데이터에 대한
	  엑세스 권한을 타사 애플리케이션에 부여할 수 있도록 한다.

	> 타사 애플리케이션에 대한 사용자 자격 증명의 노출을 최소화하여 향상된 보안, 간소화된 애플리케이션 개발, 사용
	  자가 리소스에 대한 엑세스 권한을 쉽게 부여하거나 취소할 수 있도록 하여 향상된 사용자 환경등 여러가지 이점을
	  제공한다.

	> 보기
	  - NFT, JWT, SAML, accessToken, SSO, OIDC, Authentication, OAuth, Cookie, Refresh, Token
	
	  - OAuth : 엑세스토큰 - 소셜미디어 데이터에 대한 엑세스 권한을 타사 애플리케이션에 부여(갖다 쓴다는 것)

--- 03. 리눅스(Linux)에서 사용자에게 읽기/쓰기/실행 권한을 부여하고, 그룹에게는 읽기/실행을 부여하고 그 이외에는 실행
	권한을 test.txt 파일에 부여하는 명령어는 다음과 같다. 빈칸에 들어갈 답을 작성하시오. ◆
	> ( (1) ) ( (2) ) test.txt
	  - chmond / 751	--> chmod / 751

--- 04. 다음은 C언어 코드이다 알맞는 출력 결과를 작성하시오.
	  ===========================================================================================================
	> int test(int n)
	  {
	      int i, sum = 0;
	
	      for(i = 1; i <= n / 2; i++)
	      {
		  if(n%i ==0)
		      sum += i;
	      }


	      if(n == sum)
		  return 1;
	
	      return 0;
	  }



	  int main()
	  {
	      int i, sum = 0;
	      for(i = 2; i<= 100; i++)
	      {
		  if(test(i))
		      sum+=i;
	      }

	      printf("%d ", sum);

	      return 0;
	  }
	  ===========================================================================================================

	  // 1회전 : test(2)
	    
                     1 <= 1 
		     2 % 1 == 0
		     sum = 1
		     n == sum : false

	  // 정수의 약수들 중 자기 자신을 제외한 나머지의 숫자 합이 자기자신이 되는 경우를 구하기
	     ?? 

             n = 	6 / 28 / 
		1 2 3		
		1 2 4 7 14
		
	    * 완전수는 6 / 28 / 496 / 
	  - 34

--- 05. C언어에서 구조체의 멤버에 접근하기 위해 괄호안의 기호를 작성하시오. ◆
	  ===========================================================================================================
	> typedef struct Data
	  {
	      char c;
	      int *numPtr;
	  } Data;

	  int main()
	  {
	      int num = 10;
	      Data d1;
	      Data *d2 = malloc(sizeof(struct Data));

	      d1.numPtr = &num;
	      d2()numPtr = &num;

	      printf("%d\n", *d1.numPtr);
	      printf("%d\n", *d2()numPtr);

	      free(d2);
	      return 0;
	  }
	  ===========================================================================================================
	  - . --> →

--- 06. 다음 빈칸에 들어갈 UNION 연산의 결과값을 작성하시오. --> 문제 잘못됌
	> [테이블]
	  ===========================================================================================================
	  [T1]		[T2]
	  ===========================================================================================================
	  3		3	--> 2 
	  1		1	--> 4
	  4		4	--> 3 이었어야 한다.. 
	  ===========================================================================================================
	  ===========================================================================================================
	  [쿼리]
	  ===========================================================================================================
	  SELECT A FROM T1
	  UNION
	  SELECT A FROM T2
	  ORDER BY DESC;
	  ===========================================================================================================
	  ===========================================================================================================
	  [결과 테이블]
	  ===========================================================================================================
	  []
	  []
	  []
	  []
	  ===========================================================================================================

	  - 4
	    3
	    2
	    1

--- 07. 다음 설명은 서버 접근 통제의 유형이다. 괄호 안에 들어갈 용어를 작성하시오.(영어약자로) ◆
	> ( 1 ) 은/는 규칙 기반(Rule-Based) 접근통제 정책으로, 객체에 포함된 정보의 허용 등급과 접근 정보에 대하여 주
	  체가 갖는 접근 허가 권한에 근거하여 객체에 대한 접근을 제한하는 방법이다.

	> ( 2 ) 은/는 중앙 관리자가 사용자와 시스템의 상호관계를 통제하며 조직내 맡은 역할(Role)에 기초하여 자원에 대
	  한 접근을 제한하는 방법이다.

	> ( 3 ) 은/는 신분 기반(Identity-Based) 접근통제 정책으로 주체나 그룹의 신분에 근거하여 객체에 대한 접근을 제
	  한하는 방법이다.

	  - MAC / RBAC / DAC
	    * MAC
	      - 강제 보안 기법(필수 접근 제어, 직접 접근 제어, Mandatory Access Control)
	        > 주체에게 보안 등급, 객체에게 보안 레이블 부여
		> 해당 조직에서 적합한 보안 정책과 룰(RULE)을 적용하여 다단계 보안 시행
		> 데이터 객체가 적절한 허가 등급을 가진 사용자에게만 접근되도록 하는 기법
		> 데이터 객체에 일정한 비밀등급을 지정하고, 사용자도 일정한 허가등급을 지정
		> 데이터 객체를 판독하기 위해서는 사용자의 허가등급이 데이터 객체의 비밀등급보다 같거나 높아야 함
		> 데이터 객체를 갱신하기 위해서는 사용자의 허가등급이 기록하고자 하는 데이터 객체의 비밀등급과 같아야
		  함
		> Bell-LaPadula(BLP)모델 : 기밀성을 강조, no read up, no write down
		> BIBA 모델 : 무결성 유지를 강조, no read down, no write up

	    * RBAC
	      - 역할 보안 기법(역할 기반 접근 제어, Role Based Access Control)
		> 보안관리자가 역할(role)을 만들어 데이터 객체에 대한 권한을 부여
		> 역할은 주체가 객체에 대한 접근 권한을 가지기 위한 매개체
		> 사용자들에 대한 권리를 단순화하기 위해 역할(role)을 사용
		> 전통적인 임의 접근 제어와 강제 접근 제어에 대한 실행 가능한 대안으로 등장

	    * DAC
	      - 임의 보안 기법(재량 접근 제어, 간접 접근 제어, Discretionary Access Control)
		> 권한을 사용자에게 부여할 때 읽기, 쓰기, 수정 등의 지정된 형태로 부여하는 방법
		> 사용자들에게 특정 데이터 파일, 레코드 또는 필드들을 지정된 모드로 접근할 수 있는 권한을 부여하기 위
		  해 사용
		> 대부분의 상용 DBMS가 지원
		> GRANT/REVOKE 기법, 뷰 기법


--- 08. 다음 C언어 코드에 알맞는 출력값을 작성하시오.
	  ===========================================================================================================
	> int f(int n)
	  {
	      if(n<=1) return 1;
	      else return n*f(n-1)
	  }

	  int main()
	      printf("%d", f(7));
	  ===========================================================================================================

	  // 7 * 6 * 5 * 4 * 3 * 2 * 1
	  // 42 * 5 
	  // 210 * 4
	  // 840 * 3
	  // 2520 * 2
	  // 5040 * 1
	  - 5040

--- 09. 다음 설명에 대해 괄호 안에 알맞는 용어를 작성하시오. (영어 약자로 작성하시오.) ◆
	> ( ) 은/는 자료를 일정한 크기로 정하여 순서대로 전송하는 자료의 전송 방식이다.
	> 셀이라 부르는 고정 길이 패킷을 이용하여 처리가 단순하고 고속망에 적합하며, 연속적으로 셀을 보낼 대 다중화를
	  하지 않고 셀단위로 동기가 이루어지지만 경우에 따라 동기식 시간 분할 다중화를 사용하기도 한다.
	> 가상 채널 (Virtual Channel) 기반의 연결 지향 서비스로 셀이라 부르는 고정 길이(53바이트)패킷을 사용하며 통계
	  적 다중화 방식을 이용한다.
	  - ATM ★
	    * 비동기 전송 방식(Asynchronous Transfer Mode)
	      > 가상채널 혹은 가상 패킷 기반의 연결 지향 서비스로 셀이라 부르는 고정 길이(53바이트)패킷을 사용하며 통
	        계적 다중화 방식을 이용한다. CAC 에 기반한 양 끝단(end to end)간 오류와 흐름을 제어하므로 어떤 종류의
		서비스라도 제공할 수 있고, 망의 고속화가 가능하며, 망의 오버헤드를 줄일 수 있다.
	      

--- 10. 다음은 C언어의 포인터 문제이다. 알맞는 출력값을 작성하시오.
	  ===========================================================================================================
	> int main ()
	  {
	      char * p = "KOREA";
	      printf("%s", p);
	      printf("%s", p+1);
	      printf("%c", *p);
	      printf("%c", *(p+3) );
	      printf("%c", *p+4);

	  }
	  ===========================================================================================================
	  - KOREA
	  - OREA
	  - K
	  - E
	  - O

--- 11. 다음 Java 코드에 대한 알맞는 출력값을 작성하시오. ◆
	  ===========================================================================================================
	> class Parent
	  {
	      int compute (int num)
	      {
	          if(num <= 1)
		      return num;
		  return compute(num-1) + compute(num-2);
	      }
	  }

	  class Child extends Parent
	  {
	      int compute (int num)
	      {
		  if(num <= 1)
		      return num;
		  return compute(num-1) + compute(num-3);
	      }
	  }

	  public class main
	  {
	      public static void main(String args[])
	      {
		  Parent obj = new Child();
		  System.out.print(obj.compute(7));
	      }
	  }
	  ===========================================================================================================

	  // compute(num-1)  + compute(num-3)
	  // compute 6 + compute 4
	  // (compute 5 + compute 2) + (compute 3 + compute 1)

	  // (compute 4 + compute 2) + (compute 1 + compute -1) + (compute 2 + compute 0) + 1
	  // 
	  // (compute 3 + compute 1) + 1
	  // compute 2 + compute 0 + 2
	  // compute 1 + compute -1 + 2
	  // 2

	  - 1 --> 2

--- 12. IP 패킷에서 외부의 공인 IP주소와 포트 주소에 해당하는 내부 IP 주소를 재기록하여 라우터를 통해 네트워크 트래픽
	을 주고받는 기술은 무엇인가? ◆
	> NAT(Network Address Transformation)
	  * NAT(네트워크 주소 변환)은 IP 패킷에 적힌 소켓 주소의 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면
	    서 라우터를 통해 네트워크 트래픽을 주고 받는 기술이다. 패킷에 변화가 생기기 때문에 IP나 TCP/UDP의 체크섬(
	    checksum)도 다시 계산되어 재기록해야 한다. 때문에 네트워크의 성능(레이턴시)에 영향을 줄 수 밖에 없다.

--- 13. 다음 자바 코드를 실행할 경우 에러가 발생이 된다. 에러가 발생하는 라인명을 작성하시오. ◆
	  ===========================================================================================================
	> class Person				2
	  {					3
	      private String name;		4
	      public Person(String val)		5
	      {					6
		  name = val;			7
	      }					8
						9
	      public static String get()	10
	      {					11
		  return name;			12
	      }					13
						14
	      public void print()		15
	      {					16
		  System.out.println(name);	17
	      }					18
	  }					19
						20
	  public class main			21	
	  {						22
	      public static void main(String [] args)	23
	      {						24
		  Person obj = new Person("Kim");	25	
		  obj.print();				26
	      }						27
	  }						28
	  ===========================================================================================================
	  
	  - 4 --> 7

--- 14. 다음은 파이썬에 대한 문제이다. 괄호 안에 알맞는 답을 작성하시오.
	  ===========================================================================================================
	> print("파이썬 입출력에 대한 문제입니다.")
	  num1, num2 = input().____()
	  print(num1, num2)
	  num3 = num1 + num2
	  print(num1 + " + " + num2 + " = " + num3)

	> 화면
	  파이썬 입출력에 대한 문제입니다.
	  2 3
	  2 + 3 = 5
	  ===========================================================================================================

	  - split

--- 15. 다음은 판매와 관련된 다이어그램이다. 해당 다이어그램의 명칭을 쓰시오.
	
	[ordering]		--> pricing
			↘
	<import>		--> products
	
	> 패키지 다이어그램

--- 16. 다음 설명에 맞는 답을 보기에서 골라 작성하시오.
	> 시스템이나 시스템 구성요소(component) 또는 소프트웨어 프로그램의 입력값과 출력값이 특정 그룹으로 분류 되며,
	  분류된 그룹내의 값들이 시스템에 의해 동일하게 취급된다는 특성을 이용하여 시험하는 기법
	> 유사한 입력값들이 시스템을 거치면서 유사한 답변이 나온다는 것을 가정하여 테스트
	> 하나의 값은 그 분할 내 모든 값을 대표하는 것으로 간주하는 기법
	> 모든 입력값을 시험할 필요가 없게 하여 시험을 효율적으로 수행하도록 지원
	> 일반적으로 경계값 분석기법(boundary value analysis)과 함께 테스트 케이스 도출하는데 사용

	  - 동등분할 테스트 (Equivalence Partitioning)

	> 보기 
	  ㄱ. Equivalence Partitioning ㄴ. Statement Coverage ㄷ. Boundary Value Analysis
	  ㄹ. Branch Coverage ㅁ. Error Guessing ㅂ. Condition Coverage ㅅ. Cause-Effect Graph

--- 17. 다음은 클라우드에 대한 유형 문제이다. 괄호안에 알맞는 답을 보기에서 골라 작성하시오.
		=====================================================================================================
		<전통적인 IT>		(1)			(2)			(3)
		=====================================================================================================
	|	[애플리케이션]	|	[애플리케이션]	|	[애플리케이션]		[애플리케이션]	│
		[데이터]	|	[데이터]	|	[데이터]		[데이터]		
	기	[런타임]	|	[런타임]		[런타임]	│	[런타임]	서
	업	[미들웨어]	|	[미들웨어]		[미들웨어]	│	[미들웨어]	비
		[운영체제]	|	[운영체제]		[운영체제]	│	[운영체제]	스
	관	[가상화]		[가상화]	│	[가상화]	│	[가상화]	제
	리	[서버]			[서버]		│	[서버]		│	[서버]		공
		[스토리지]		[스토리지]	│	[스토리지]	│	[스토리지]	
	|	[네트워크]		[네트워크]	│	[네트워크]	│	[네트워크]	│

	> 보기 (PaaS, SaaS, IaaS)
	  - 1 : IaaS
	    2 : PaaS
	    3 : SaaS

--- 18. 다음은 프로토콜 종류에 관한 설명이다. 알맞는 답을 작성하시오. ◆
	> 최소 Hop count를 파악하여 라우팅하는 프로토콜이다.
	> 거리와 방향으로 길을 찾아가는 Distance Vector 다이나믹 프로토콜이다.
	> 최단거리 즉, Hop count가 적은 경로를 택하여 라우팅하는 프로토콜로 Routing Table에 인접 라우터 정보를 저장하
	  여 경로를 결정한다.
	> 최대 Hop count는 15로 거리가 짧기 때문에 IGP로 많이 이용하는 프로토콜이다.
	  - RARP --> RIP
	    * RIP : 거리벡터 알고리즘에 기초하여 개발된 라우팅 프로토콜
		    소규모 또는 교육용 등 비교적 간단한 네트워크에 주로 사용됨
		    IGP(Interior Gateway Protocol)용

--- 19. 다음은 관계 대수에 대한 내용이다. 보기에 알맞는 기호를 작성하시오.
	> join : ( 1 )
	> project : ( 2 )
	> select : ( 3 )
	> division : ( 4 )
	  - 보기
	    ㄱ. σ, ㄴ. π ㄷ. ▷◁ ㄹ. ÷

	  ㄷ, ㄴ, ㄱ, ㄹ

--- 20. 다음은 데이터베이스에 관련된 문제이다. 괄호 안에 알맞는 답을 작성하시오.
	> ( ) 무결성은 관계 데이터베이스 관계 모델에서 2 개의 관련 있던 관계 변수(테이블)간의 일관성(데이터 무결성)을
   	  말한다.
	> 종종 기본 키 또는 키가 아닌 후보 키와 외래 키의 조합으로 강제 적용된다.
	> 외래 키가 선언된 관계 변수의 외래 키를 구성하는 속성(열)의 값은 그 관계 변수의 부모가 되는 관계 변수의 기본
	  키 값 또는 기본 키가 아닌 후보 키 값으로 존재해야 한다.

	  - 참조

 

정보처리기사 2023-3.md
0.02MB

 

* 출처 : https://chobopark.tistory.com/198

 

[2020년~] 정보처리기사 실기 족보 3탄!! (feat. 요약)

안녕하세요. 정보처리기사 실기를 준비함에 있어 별도로 시험에 잘 나올 수 있는 부분들을 정리 및 요약하여포스팅을 해 보았습니다. 흔히 말해 족보라는 것이 잘 없더라구요..  저도 시험 준

chobopark.tistory.com

 

감사드립니다.

728x90

댓글