본문 바로가기
Study

[정처기 실기] 오답정리 23년 1회

by jisayDeveloper 2024. 4. 12.
728x90
반응형
SMALL
class Static{
	public int a = 20;
    static int b = 0;
}
public class Test{
	main(){
    	int a = 10;
        Static.b = a;
        Static st = new Static();
        sout(Static.b++);
        sout(st.b);
        sout(a);
        sout(st.a);
    }
}

답 : 

10

11

10

20

 

*풀이

Static.b = a ----> 10

st.b는 Static.b와 같은 메모리 영역이기 때문에 Static.b++에서 10을 출력 후 11로 바뀜


#include <stdio.h>
main() {
	char a[] = "Art";
    char* p = NULL;
    p = a;
    printf("%s\n, a);
    printf("%c\n, *p);
    printf("%c\n, *a);
    printf("%s\n, p);
    for(int i = 0; a[i] != '\0'; i++)
    	printf("%c", a[i]);
}

답 :

Art 

A

A

Art

Art

 

*풀이

1byte 1byte 1byte 1byte
'A' 'r' 't' '\0'
a[0] a[1] a[2] a[3]

#include <stdio.h>
main() {
	char* a = "qwer";
    char* b = "qwtety";
    for(int i = 0; a[i] != '\0'; i++)
    	for(int j = 0; b[j] != ]\0'; j++)
        	if(a[i] == b[j])
            	printf("%c", a[i]);

답 : qwe

 

*풀이

'q' 'w' 'e' 'r' '\0'    
a[0] a[1] a[2] a[3] a[4]    
'q' 'w' 't' 'e' 't' 'y' '\0'
b[0] b[1] b[2] b[3] b[4] b[5] b[6]

a[i] == b[j] 일때 조건이 참이면 a[i]를 출력

반복하며 만족하는 경우는

a[0] == b[0]

a[1] == b[1]

a[2] == b[3]

즉 qwe


(  1  ) : 연결형 통신에서 주로 사용되는 방식으로, 출발지와 목적지의 전송 경로를 미리 연결하여 논리적으로 고정한 후 통신하는 방식

(  2  ) : 비연결형 통신에서 주로 사용되는 방식으로, 사전에 접속 절차를 수행하지 않고 헤더에 출발지에서 목적지까지의 경로 지정을 위한 충분한 정보를 붙여서 개별적으로 전달하는 방식

<보기>

  • 회선 교환 방식
  • 데이터그램 방식
  • 가상 회선 방식
  • 메시지 교환 방식

답 : 

(1) 가상 회선 방식

(2) 데이터그램 방식


데이터링크 계층의 프로토콜 중 하나로 터널링 프로토콜인 PPTP와 VPN의 구현에 사용하는 L2F의 기술적 강점들을 결합하여 만든 프로토콜이다. 자체적으로 암호화 및 인증 기능을 제공하지 않아 다른 보안 프로토콜과 함께 사용하는 경우가 많다.

 

답 : L2TP

 

*더보기

OSI 참조 모델

7 응용 계층

6 표현 계층

5 세션 계층

4 트랜스포트(전송) 계층    -> SSL : 데이터를 송수신하는 두 컴터 사이에 TCP/IP 계층과 어플리케이션 계층사이에서 인증,암호화, 무결성을 보장하는 업계 표준 프로토콜

3 네트워크 계층        -> IPSec : IP 패킷 단위의 데이터 변조 방지 및 은닉 기능을 제공하는 프로토

2 데이터 링크 계층    -> PPTP : 지점간 터널링 프로토콜, 두 대의 컴터가 직렬 인터페이스를 이용하여 통신, L2F : 데이터 링크 수준에서 캡슐화 가능, L2TP : L2F의 기술적 강점 결합, 자체적으로 암호화 및 인증 기능 제공 x

1 물리 계층

 


  • 다른 컴퓨터에 로그인, 원격 명령 실행, 파일 복사 등을 수행할 수 있도록 다양한 기능을 지원하는 프로토콜 또는 이를 이용한 응용프로그램
  • 데이터 암호화와 강력한 인증 방법으로 보안성이 낮은 네트워크에서도 안전하게 통신할 수 있다.
  • 키(Key)를 통한 인증 방법을 사용하려면 사전에 클라이언트의 공개키를 서버에 등록해야 한다.
  • 기본적으로 22번 포트를 사용한다.

답 : SSH

 

*더보기

TCP 접속에 사용되는 서비스별 포트 번호

  • FTP : 21(다른 번호로 변경 가능) / 컴퓨터와 컴퓨터 통신 시
  • TELNET : 23 / 원격 접속
  • SMTP : 25 / 전자우편 
  • DNS : 53 / 도메인 IP 매핑
  • HTTP : 80 

#include <stdio.h>
main() {
	int input = 101110;
    int di = 1;
    int sum = 0;
    while(1){
    	if(input == 0) break;
        sum = sum + (input (  1  )(  2  )) * di;
        di = di * 2;
        input = input/10;
    }
    printf("%d", sum);
}

 

답 : 

(1) %

(2) 10

 

*풀이

1    0   1   1  1  0

2⁵  2⁴  2³ 2² 2¹ 2⁰

 

32 + 0 + 8 + 4 + 2 + 0 = 46

 

몫이 0이 될때까지 나머지를 구함

 

10 ÷ 101110 몫 = 10111, 나머지 = 0

10 ÷ 10111 몫 = 1011, 나머지 = 1

10 ÷ 1011 몫 = 101, 나머지 = 1

10 ÷ 101 몫 = 10, 나머지 = 1

10 ÷ 10 몫 = 1, 나머지 = 0

10 ÷ 1 몫 = 0, 나머지 = 1

 

나머지 

0   1   1   1   0   1

2⁰  2¹  2²  2³  2⁴  2⁵

-------------------------

0 + 2 + 4 + 8 + 0 + 32 = 46


IP의 주요 구성원 중 하나로, OSI 계층 모델의 네트워크 계층에 속한다.

네트워크 컴퓨터의 운영체제에서 오류메시지를 수신하거나, 전송 경로를 변경하는 등

오류 처리를 위한 제어 메시지를 주로 취급한다. 관련된 도구로 traceoute, ping이 있으며,

ping of death와 같은 네트워크 공격 기법에 활용되기도 한다.

 

답 : ICMP

 

*더보기

<TCP/IP 구조>

OSI TCP/IP 기능
응용 계층
표현 계층
세션 계층
응용 계층 응용 프로그램 간의 데이터 송수신 제공
TELNET, FTP, SMTP, DNS, HTTP 등
전송 계층 전송 계층 호스트들 간의 신뢰성 있는 통신 제공
TCP, UDP, RTCP
네트워크 계층 인터넷 계층 데이터 전송을 위한 주소 지정, 경로 설정을 제공함
IP, ICMP, IGMP, ARP, RARP
데이터 링크 계층
물리 계층
네트워크 엑세스 계층 실제 데이터(프레임)를 송수신 하는 역할
Ethernet, IEEE 802, HDLC,X.25, RS-232C,
ARQ 등

복잡한 시스템을 개발하기 쉽도록 클래스나 객체들을 조합하는 패턴에 속하며, 대리자라는 이름으로도 불린다.

내부에서는 객체 간의 복잡한 관계를 단순하게 정리해 주고,외부에서는 객체의 세부적인 내용을 숨기는 역할

 

답 : Proxy

 

*더보기

디자인 패턴

 

생성

  • 추상 팩토리 - 그룹으로 갱성 추상적 표현
  • 빌더 - 인스턴스를 건축하듯 조합
  • 팩토리 메소드 - 가상 생성자, 실제 생성은 서브 클래스가 담당
  • 프로토 타입 - 원본 객체를 복제
  • 싱글톤

구조

  • 어댑터 - 기존 클래스를 이용하고싶지만 인터페이스가 일치하지 않을 때
  • 브리지 - 구현부에서 추상층 분리, 기능과 구현을 두 개의 별도 클래스로 구현
  • 컴포지트 - 복합 객체 안에 복합 객체가 포함되는 구조 구현
  • 데코레이터 - 부가적 기능 추가를 위해 다른 객체를 덧붙이는 방식
  • 퍼싸드 - 서브 클래스들 사이의 통합 인터페이스를 제공하는 Wrapper 객체가 필요함
  • 플라이웨이트 - 인스턴스를 공유해서 사용함으로써 메모리를 절약
  • 프록시 - 접근이 어려운 객체와 연결하려는 객체 사이에 인터페이스 역할, 네트워크 연결, 메모리 대용량 객체로 접근

행위

  • 책임 연쇄 - 요청을 처리하는 개체들이 고리(Chain)로 묶여있어 해결될때까지 고리를 따라 책임 전가
  • 커맨드 - 요청을 캡슐화하여 재이용하거나 취소 가능, 요청에 필요 정보를 저장하거나 로그에 남김
  • 인터프리터 - SQL이나 통신 프로토콜 개발할때 사용
  • 반복자(Iterator) - 자료 구조와 같이 접근이 잦은 객체에 대해 동일한 인터페이스를 사용하도록 하는 패턴
  • 중재자(Mediator) - 수많은 객체들 간의 상호작용을 캡슐화
  • 메멘토 - Ctrl + Z
  • 옵서버 - 한 객테의 상태 변화는 개테에 상속된 다른 객체에게 변화 전달
  • 상태 - 객체의 상태에 따라 동일한 동작을 다르게 처리해야 할 때 사
  • 전략(Strategy) - 동일한 계열 알고리즘들을 개별적으로 캡슐화하여 상호교환
  • 템플릿 메소드 - 상위 클래스에서 골격 정의, 하위 클래스에서 세부 처리
  • 방문자

(  1  ) : 릴레이션을 구성하는 각각의 행을 의미하며, 파일 구조에서는 레코드에 해당함

(  2  ) : 데이터 개체를 구성하고 있는 속성들에 데이터 타입이 정의되어 구체적인 데이터 값을 가진 것으로,

          실제 값을 가진 튜플을 의미함

(  3  ) : 튜플의 개수를 의미함

 

답 : 

(1) 튜플

(2) 릴레이션 인스턴스

(3) 카디널리티

 

*더보기

 


asia = {'한국','중국','일본'}
asia.add('베트남')
asia.remove('일본')
asia.update({'한국','홍콩','태국'})
print(asia)

 

답 : { '한국','중국','베트남' ,'홍콩' ,'태국' }

 

*풀이

asia.add('베트남') --> asia = {'한국','중국','일본','베트남'}
asia.remove('일본') --> asia = {'한국','중국','베트남'}
asia.update({'한국','홍콩','태국'}) --> asia = {'한국','중국','베트남','홍콩','태국'}


 

답 :

SELECT 과목이름, MIN(점수) AS 최소점수, MAX(점수) AS 최대점수

FROM 성적

GROUP BY 과목이름 HAVING AVG(점수) >= 90;


(  1  ) 스키마는 데이터베이스의 전체적인 논리적 구조로, 모든 응용 프로그램이나 사용자들이 필요호 하는 데이터를 종합한 조직 전체의 데이터베이스이다.

(  2  ) 스키마는 실제로 저장될 레코드의 형식, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.

(  3  ) 스키마는 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것

 

답 :

(1) 개념

(2) 내부

(3) 외부


 

 

 

 

 

 

 

 

 

728x90
반응형
LIST