
1. 다음은 Java 코드에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
public class Main {
static String[] s = new String[3];
static void func(String[] s, int size) {
for (int i = 1; i < size; i++) {
if (s[i - 1].equals(s[i])) {
System.out.print("O");
} else {
System.out.print("N");
}
}
for (String m : s) {
System.out.print(m);
}
}
public static void main(String[] args) {
s[0] = "A";
s[1] = "A";
s[2] = new String("A");
func(s, 3);
}
}
| 답: OOAAA ※ 자바(JAVA)에서 문자열(String) 은 리터럴 사용 시 공용 주소 재사용 예. String str1 = 'Programming'; String str2 = 'Programming'; String str3 = new String('Programming') → str2 는 str1 과 같은 주소가 됨. → str3 은 new 가 붙었으므로, 무조건 새로운 주소로 만들어짐 ※ 자바(JAVA)에서 배열(int[ ]) 은 무조건 새 주소로 생성 예. int[] a = new int[]{1, 2, 3, 4}; int[] b = new int[]{1, 2, 3, 4}; int[] c = new int[]{1, 2, 3}; → 전부 다른 주소에 저장된다. → 자바(JAVA)에서 배열의 주소를 비교(==)하는 것은 전부다 거짓 → 안의 내용물을 비교하려면, Arrays.equlas(a, b)를 써야함. (※ a.equals(b) 를 써도 배열은 주소를 비교하는 경우가 있음) ![]() |
2. 다음은 파이썬에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
def func(lst):
for i in range(len(lst) // 2):
lst[i], lst[-i - 1] = lst[-i - 1], lst[i]
lst = [1, 2, 3, 4, 5, 6]
func(lst)
print(sum(lst[::2]) - sum(lst[1::2]))
| 답: 3 ※lst[초기값:끝값:증감값] ![]() |
3. 아래의 employee테이블과 project테이블을 참고하여 보기의 SQL명령어에 알맞는 출력값을 작성하시오.

[보기]
SELECT COUNT(*)
FROM employee AS e
JOIN project AS p
ON e.project_id = p.project_id
WHERE p.name IN(
SELECT name
FROM project
WHERE project_id IN(
SELECT project_id
FROM employee
GROUP BY project_id
HAVING COUNT(*) < 2
답: 1![]() |
4. 다음은 운영체제 페이지 순서를 참고하여 할당된 프레임의 수가 3개일 때LRU 알고리즘의 페이지 부재 횟수를 작성하시오.
페이지 참조 순서: 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
| 답: 12 |
5. 다음은 네트워크 취약점에 대한 문제이다. 아래 내용을 보고 알맞는 용어를 작성하시오.
- IP나 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크의 일부를 불능 상태로 만드 는 공격이다.
- 여러 호스트가 특정 대상에게 다량의 ICMP Echo Reply 를 보내게 하여 서비스거부(DoS)를 유발시키는 보안공격이다.
- 공격 대상 호스트는 다량으로 유입되는 패킷으로 인해 서비스 불능 상태에 빠진다.
| 답: 스머프(Smurf) 또는 스머핑(Smurfing) |
6. 다음은 GoF 디자인 패턴과 관련된 문제이다. 괄호 안에 알맞는 용어를 작성하시오.
( ) 패턴은 클래스나 객체들이 서로 상호 작용하는 방법이나 책임 분배방법을 정의하는 패턴이다.
( ) 패턴은 객체들 간의 통신 방법을 정의하고 알고리즘을 캡슐화하여 객체 간의 결합도를 낮춘다.
( ) 패턴은 Chain of Responsibility나 Command 또는 Observer패턴이 있다.
| 답: 행위 |
7. 다음은 C언어에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
#include <stdio.h>
int func() {
static int x = 0;
x += 2;
return x;
}
int main() {
int x = 1;
int sum = 0;
for (int i = 0; i < 4; i++) {
x++;
sum += func();
}
printf("%d", sum);
return 0;
}
| 답: 20 ※ main( ) 의 x : 지역변수 → 스택(Stack)라는 구역에 존재, 함수가 실행될 때 잠깐 생겼다가. 함수가 끝나면 사라짐. '임시 거처' → 메인 함수 안에서만 통하는 x func( ) 의 static int x : 정적 변수 → 데이터(Date/Static)라는 구역에 존재. 프로그램이 시작될 때 만들어져서 끝날 떄까지 유지됨. '영구 거처' ![]() |
8. 다음은 무결성 제약조건에 대한 문제이다. 아래 표에서 어떠한 ( ) 무결성을 위반하였는지 작성하시오.

| 답: 개체 |
9. 다음은 URL 구조에 관한 문제이다. 아래 보기의 순서대로 URL에 해당하는 번호를 작성하시오.

[보기]
query : 서버에 전달할 추가 데이터
path : 서버 내의 특정 자원을 가리키는 경로
scheme : 리소스에 접근하는 방법이나 프로토콜
authority :사용자정보, 호스트명, 포트번호
fragment : 특정 문서 내의 위치
| 답: 43125 |
10. 다음은 파이썬에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
def func(value):
if type(value) == type(100):
return 100
elif type(value) == type(""):
return len(value)
else:
return 20
a = '100.0'
b = 100.0
c = (100, 200)
print(func(a) + func(b) + func(c))
| 답: 45 데이터 타입(형태) 구분하는 문제 if type(value) == type(100): return 100 type(100) : 정수(int)인가? elif type(value) == type(""): return len(value) type("") : 문자열(str)인가? else: return 20 a = '100.0' → 문자열(str) → len('100.0') = 5 ※(1 0 0 . 0) = 5글자 ※작은따옴표(' ') 또는 큰따옴표(" ")로 감싸져있으면 문자열(str) b = 100.0 → 실수(float) ※소숫점이므로 실수이다. 정수였으면, 100 이렇게 표현됐어야한다. → return 20 c = (100, 200) → 튜플(tuple) → return 20 print(func(a) + func(b) + func(c)) 5 + 20 +20 = 45 |
11. 다음은 Java 코드에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
public class Main {
public static void main(String[] args) {
Base a = new Derivate();
Derivate b = new Derivate();
System.out.print(a.getX() + a.x + b.getX() + b.x);
}
}
class Base {
int x = 3;
int getX() {
return x * 2;
}
}
class Derivate extends Base {
int x = 7;
int getX() {
return x * 3;
}
}
답: 52![]() |
12. 다음은 C언어에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
#include <stdio.h>
struct Node {
int value;
struct Node* next;
};
void func(struct Node* node) {
while (node != NULL && node->next != NULL) {
int t = node->value;
node->value = node->next->value;
node->next->value = t;
node = node->next->next;
}
}
int main() {
struct Node n1 = {1, NULL};
struct Node n2 = {2, NULL};
struct Node n3 = {3, NULL};
n1.next = &n3;
n3.next = &n2;
func(&n1);
struct Node* current = &n1;
while (current != NULL) {
printf("%d", current->value);
current = current->next;
}
return 0;
}
답: 312![]() |
13. 다음은 테스트 커버리지에 대한 문제이다. 아래 내용에 알맞는 답을 보기에서 골라 작성하시오.
1. 테스트를 통해 프로그램의 모든 문장을 최소한 한 번씩 실행했는지를 측정
2. 프로그램 내의 모든 분기(조건문)의 각 분기를 최소한 한 번씩 실행했는지를 측정
3. 복합 조건 내의 각 개별조건이 참과 거짓으로 평가되는 경우를 모두 테스트했는지를 측정
[보기] ㄱ.조건 ㄴ.경로 ㄷ.결정 ㄹ.분기 ㅁ.함수 ㅂ.문장 ㅅ.루프
| 답: 1. 문장 2. 분기 3. 조건 |
14. 아래는 UML 클래스의 관계에 관한 문제이다. 보기를 보고 알맞는 관계를 선택하여 작성하시오.

[보기] ㄱ. 의존 ㄴ. 연관 ㄷ. 일반화
| 답: (1) 연관 (2) 일반화 (3) 의존 |
15. 다음은 데이터베이스에 관한 문제이다. 아래 내용을 읽고 알맞는 답을 보기에서 찾아 골라 작성하시오.
- (1) 다른 테이블, 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
- (2) 테이블에서 각 행을 유일하게 식별할 수 있는 최소한의 속성들의 집합
- (3) 후보키 중에서 선정 된 기본키를 제외한 나머지 후보키
- (4) 테이블에서 각 행을 유일하게 식별할 수 있는 속성들의 집합
[보기] ㄱ.슈퍼키 ㄴ.외래키 ㄷ.대체키 ㄹ.후보키
| 답: (1) 외래키 (2) 후보키 (3) 대체키 (4) 슈퍼키 |
16. 다음은 C언어에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
#include <stdio.h>
void func(int** arr, int size) {
for (int i = 0; i < size; i++) {
*(*arr + i) = (*(*arr + i) + i) % size;
}
}
int main() {
int arr[] = {3, 1, 4, 1, 5};
int* p = arr;
int** pp = &p;
int num = 10;
func(pp, 5);
num = arr[2]
printf("%d", num);
return 0;
}
답: 1![]() |
17. 다음 아래 내용을 보고 알맞는 용어를 작성하시오. (3글자로작성)
- 공용 네트워크를 통해 사설 네트워크를 확장하는 기술이다.
- 사용자의 IP주소를 숨기고, 사용자가 어디에서 접속하는지를 추적하기 어렵게 만든다.
- 종류로는 IPsec 또는 SSL, L2TP 등이있다.
| 답: VPN |
18. 다음은 Java 코드에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
public class ExceptionHandling {
public static void main(String[] args) {
int sum = 0;
try {
func();
} catch (NullPointerException e) {
sum = sum + 1;
} catch (Exception e) {
sum = sum + 10;
} finally {
sum = sum + 100;
}
System.out.print(sum);
}
static void func() throws Exception {
throw new NullPointerException();
}
}
답: 101![]() ※ 만약 catch (NullPointerException e) 블록이 없었다면, 그 다음으로 넓은 범위의 부모 클래스가 예외를 대신 수습함. Exception 은 모든 예외의 대장 NullPointerExecption 은 특정 문제만 담당하는 말단 직원 → 전용 처리반 NullPointerExecption 이 없으면 비상 상황은 상위 책임자인 Exception 으로 간다. NullPointerExecption 블록이 없다면, func( ) 에서 예외가 발생 → main의 첫 번째 catch를 보는데, 받아 줄 NullPointerExecption 가 없음 → 다음 칸에 catch (Exception e)가 있음 → 모든 예외를 받을 수 있으므로 sum = sum + 10 이 실행 됨. → 그리고 finally 가 실행 됨 ※ 만약 catch 가 하나도 없었다면, finally가 실행되고 프로그램이 강제로 종료된다. 그러므로 System.out.print 가 실행되지 않는다. |
19. 다음은 Java 코드에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
class Main {
public static class Collection<T> {
T value;
public Collection(T t) {
value = t;
}
public void print() {
new Printer().print(value);
}
class Printer {
void print(Integer a) {
System.out.print("A" + a);
}
void print(Object a) {
System.out.print("B" + a);
}
void print(Number a) {
System.out.print("C" + a);
}
}
}
public static void main(String[] args) {
new Collection<>(0).print();
}
}
| 답: B0 |
20. 다음은 네트워크에 대한 문제이다. 아래 내용을 보고 알맞는 용어를 작성하시오.
- 중앙 관리나 고정된 인프라 없이 임시로 구성되는 네트워크이다.
- 일반적으로 무선 통신을 통해 노드들이 직접 연결되어 데이터를 주고받는다.
- 긴급 구조, 긴급 회의, 군사적인 상황 등에서 유용하게 활용될 수 있다.
[보기] ㄱ.Infrastructure Network ㄴ.Firmware Network ㄷ.Peer-to-Peer Network ㄹ.Ad-hoc Network
ㅁ.Mesh Network ㅂ.Sensor Network ㅅ.Virtual Private Network
| 답: ㄹ. Ad-hoc Network |
'자격증 요약 > 정보처리기사' 카테고리의 다른 글
| [24년 1회] 정보처리기사 실기 문제 풀이 (0) | 2026.02.24 |
|---|---|
| [24년 2회] 정보처리기사 실기 문제 풀이 (0) | 2026.02.24 |
| [25년 1회] 정보처리기사 실기 문제 풀이 (0) | 2026.02.24 |
| [25년 2회] 정보처리기사 실기 문제 풀이 (0) | 2026.02.24 |
| [25년 3회] 정보처리기사 실기 문제 풀이 (0) | 2026.02.23 |







