해당 글은 마크다운 언어로 작성되었습니다.
- 별도의 요청의 의해 문제만 작성함
C언어
switch 문법, 함수의 반환 값 여부
#include
void swap() {
int a = 11;
int b = 19;
int t = a;
a = b;
b = t;
}
int main() {
int a = 11;
int b = 19;
swap();
switch(a) {
case 1:
b += 1;
case 11:
b += 2;
default:
b += 3;
break;
}
printf("%d", a-b);
}
포인터와 문자열의 이해
#include
#include
void func(char *d, char *s) {
int sum = 0;
while (*s) {
*d = *s;
d++;
s++;
}
*d = '';
}
int main() {
char* str1 = "first";
char str2[50] = "teststring";
int result = 0;
func(str2, str1);
for (int i = 0; str2[i] != ''; i++) {
result += i;
}
printf("%d", result);
return 0;
}
포인터와 2차원 배열의 메모리구조
#include
int main() {
int arr[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int* parr[2] = {arr[1], arr[2]};
printf("%d", parr[1][1] + *(parr[1]+2) + **parr);
return 0;
}
구조체와 포인터의 연결리스트
#include
struct node {
int n1;
struct node *n2;
};
int main() {
struct node a = {10, 0};
struct node b = {20, 0};
struct node c = {30, 0};
struct node *head = &a;
a.n2 = &b;
b.n2 = &c;
printf("%d", head -> n2 -> n1);
return 0;
}
JAVA
배열, 객체, static, == 연산자의 의미
public class Main {
public static void check(int[] x, int[] y) {
if(x==y) System.out.print("O");
else System.out.print("N");
}
public static void main(String[] args) {
int a[] = new int[] {1, 2, 3, 4};
int b[] = new int[] {1, 2, 3, 4};
int c[] = new int[] {1, 2, 3};
check(a, b);
check(b, c);
check(a, c);
}
}
인터페이스와 논리 연산자
interface Number {
int sum(int[] a, boolean odd);
}
public class Main {
public static void main(String[] args) {
int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
OENumber OE = new OENumber();
System.out.print(OE.sum(a, true) + ", " + OE.sum(a, false));
}
}
class OENumber implements Number {
public int sum(int[] a, boolean odd) {
int result = 0;
for(int i=0; i < a.length; i++) {
if((odd && a[i] % 2 != 0) || (!odd && a[i] % 2 == 0))
result += a[i];
}
return result;
}
}
문자열 역순 출력과 재귀 함수
public class Main {
public static String rf(String str, int index, boolean[] seen) {
if(index < 0) return "";
char c = str.charAt(index);
String result = rf(str, index-1, seen);
if(!seen[c]) {
seen[c] = true;
return c + result;
}
return result;
}
public static void main(String[] args) {
String str = "abacabcd";
int length = str.length();
boolean[] seen = new boolean[256];
System.out.print(rf(str, length-1, seen));
}
}
split() 매서드
public class Main {
public static void main(String[] args) {
String str = "ITISTESTSTRING";
String[] result = str.split("T");
System.out.print(result[3]);
}
}
Python
문자열 포맷
def cnt(str, p):
result = 0
for i in range(len(str)):
sub = str[i:i+len(p)]
if sub == p:
result += 1
return result
str = "abdcabcabca"
p1 = "ca"
p2 = "ab“
print(f'ab{cnt(str, p1)} ca{cnt(str, p2)}')
SQL
INSERT INTO 문법, SELECT 문법, UPDATE 문법
**[테이블]**
사원 [사원번호(PK), 이름, 나이, 부서]
부서 [사원번호(PK), 이름, 주소, 나이]
① 신입사원이 들어와서 부서 테이블에 새로운 사람을 추가
INSERT INTO 부서 (사원번호, 이름, 주소, 나이) **( ① )** (240728, '홍길동', '서울', 30);
② 부서 테이블에서 추가한 사원을 검색한 후 사원 테이블에 추가
INSERT INTO 사원 (사원번호, 이름, 나이, 부서)
**( ② )** 사원번호, 이름, 나이, ‘영업’ FROM 부서 WHERE 이름 = '홍길동';
③ 전체 사원 테이블 조회
SELECT * **( ③ )** 사원;
④ 사원의 퇴사로 인해 부서에 해당하는 값을 '퇴사'로 변경
UPDATE 사원 **( ④ )** 부서 = '퇴사' WHERE 사원번호 = 240728;
개념
반정규화
시스템의 성능을 향상시키고 개발 및 운영의 편의성 등을 높이기 위해 정규화된 데이터 모델을 의도적으로 통합, 중복, 분리하여 정규화 원칙을 위배하는 행위
카디널리티와 디그리
IPSec (VPN 관련 기술)
- Network layer에서 IP패킷을 암호화하고 인증하는 등의 보안을 위한 표준이다.
- 기업에서 사설 인터넷망으로 사용할 수 있는 VPN을 구현하는데 사용되는 프로토콜이다.
- AH(Authentication Header)와 ESP(Encapsulating Security Payload)라는 두 가지 보안 프로토콜을 사용한다.
순차적 응집도
실행 순서가 밀접한 관계를 갖는 기능을 모아 모듈로 구성하며, 한 모듈 내부의 한 기능 요소에 의한 출력 자료가 다음 기능 원소의 입력 자료로써 제공되는 형태이다.
Iterator
- 컬렉션 객체의 내부 구조를 노출하지 않고 순차적으로 접근할 수 있게 하는 패턴이다.
- 객체의 내부 표현 방식에 독립적으로 요소에 접근할 수 있다.
- 반복 프로세스를 캡슐화하여 클라이언트 코드에서는 컬렉션의 구체적인 구현에 종속되지 않게 한다.
- Cursor라고도 한다.
가상회선과 데이터그램
**( ① )** : 연결형 통신에서 주로 사용되는 방식으로, 출발지와 목적지의 전송 경로를 미리 연결하여 논리적으로 고정한 후 통신하는 방식이다.
**( ② )** : 비연결형 통신에서 주로 사용되는 방식으로, 사전에 접속 절차를 수행하지 않고 헤더에 출발지에서 목적지까지의 경로 지정을 위한 충분한 정보를 붙여서 개별적으로 전달하는 방식이다.
라우팅 알고리즘
다음 라우터 A에서 라우터 F까지 경로를 설정하기 위해 RIP 방식을 사용한다고 할 때, 라우터가 지나가는 경로를 순서대로 쓰시오.(단, 간선 위의 숫자는 라우터 간의 거리를 의미한다.)
AES
- 대칭키 알고리즘으로 1997년 NIST(미국 국립기술표준원)에서 DES를 대체하기 위해 생성되었다.
- 128비트, 192비트 또는 256비트의 가변 키 크기와 128비트의 고정 블록 크기를 사용한다.
- 높은 안전성과 효율성, 속도 등으로 인해 DES 대신 전 세계적으로 많이 사용되고 있다.
프로세스 스케줄링 - SRT 스케줄링
아래의 표를 확인하여 SRT 스케줄링의 평균 대기시간을 계산하여 작성하시오.
결합도 개념
- 어떤 모듈이 다른 모듈 내부의 논리적인 흐름을 제어하기 위해, 제어를 통신하거나 제어 요소를 전달하는 결합도이다.
- 한 모듈이 다른 모듈의 상세한 처리 절차를 알고 있어 이를 통제하는 경우나 처리 기능이 두 모듈에 분리되어 설계된 경우에 발생한다.
답 : ( ) Coupling
'일상 > 자기계발&자기개발' 카테고리의 다른 글
[독서] 피터 드러커 자기경영노트 - 4장 (0) | 2025.04.08 |
---|---|
[독서] 피터 드러커 자기경영노트 - 3장 (0) | 2025.04.04 |
[#정보처리기사] 24년 3회 문제 (0) | 2025.04.03 |
[독서] 피터 드러커 자기경영노트 - 2장 (1) | 2025.04.03 |
[독서] 피터 드러커 자기경영노트 - 1장 (1) | 2025.04.02 |