2024년 1회 정보처리기사 실기 기출문제 및 해설
이 글에서는 2024년 1회 정보처리기사 실기 기출문제와 정답, 해설을 정리했습니다.
정보처리기사 실기시험을 준비하시는 분들께 도움이 되기를 바랍니다!
문제 1
다음 Java 코드를 실행했을 때 출력 결과를 쓰시오.
class Connection {
private static Connection _inst = null;
private int count = 0;
static public Connection get() {
if(_inst == null) {
_inst = new Connection();
return _inst;
}
return _inst;
}
public void count() {
count++;
}
public int getCount() {
return count;
}
}
public class main {
public static void main(String[] args) {
Connection conn1 = Connection.get();
conn1.count();
Connection conn2 = Connection.get();
conn2.count();
Connection conn3 = Connection.get();
conn3.count();
conn1.count();
System.out.print(conn1.getCount());
}
}
정답
해설
[정보처리기사] [Java] static 변수와 메서드 | 싱글톤 패턴 | 정보처리기사 실기 기출문제(2024년 1회)
2024년 1회 정보처리기사 실기 기출문제문제다음 Java 코드의 실행 결과를 구하시오.class Connection { private static Connection _inst = null; private int count = 0; static public Connection get() { if(_inst == null) { _inst = new
august-jhy.tistory.com
문제 2
다음 C 코드의 실행 결과를 구하시오.
#include <stdio.h>
int main() {
int v1 = 0, v2 = 35, v3 = 29;
if(v1 > v2 ? v2 : v1) {
v2 = v2 << 2;
}else{
v3 = v3 << 2;
}
printf("%d", v2+v3);
}
정답
해설
[정보처리기사] [ C ] 삼항 연산자와 비트 연산자(시프트 연산자) 활용 | 2024년 1회 정보처리기사
2024년 1회 정보처리기사 실기 기출문제문제다음 C 코드의 실행 결과를 구하시오.#include int main() { int v1 = 0, v2 = 35, v3 = 29; if(v1 > v2 ? v2 : v1) { v2 = v2 정답151해설📌 기본 개념1️⃣ 삼항 연산자 (?:)조
august-jhy.tistory.com
문제 3
다음 C 코드의 실행 결과를 구하시오.
#include <stdio.h>
#include <string.h>
int main(){
char str[] = "ABCDEFGH";
char *fir_str;
char *end_str;
fir_str = &str[0];
end_str = &str[strlen(str)-1];
while(fir_str < end_str){
char temp = *fir_str;
*fir_str = *end_str;
*end_str = temp;
fir_str++;
end_str--;
}
for(int i=1; i<strlen(str); i+=2){
printf("%c",str[i]);
}
}
정답
해설
[정보처리기사] [ C ] 문자열 역순 출력 | 2024년 1회 정보처리기사 실기 기출문제
2024년 1회 정보처리기사 실기 기출문제문제다음 C 코드의 실행 결과를 구하시오.#include #include int main(){ char str[] = "ABCDEFGH"; char *fir_str; char *end_str; fir_str = &str[0]; end_str = &str[strlen(str)-1]; while(fir_str
august-jhy.tistory.com
문제 4
다음 JAVA 코드의 실행 순서를 중복 번호 없이 빈칸에 작성하시오.
실행 순서 : 5 → ( ) → ( ) → ( ) → ( ) → ( )
class Parent {
int x, y;
Parent(int x, int y) { (_1_)
this.x = x;
this.y = y;
}
int getT() { (_2_)
return x * y;
}
}
class Child extends Parent {
int x;
Child(int x) { (_3_)
super(x + 1, x);
this.x = x;
}
int getT(int n) { (_4_)
return super.getT() + n;
}
}
class Main {
public static void main(String[] args) { (_5_)
Parent parent = new Child(3); (_6_)
System.out.println(parent.getT()); (_7_)
}
}
정답
해설
[정보처리기사] [Java] 상속과 super 키워드 실행 순서 | 2024년 1회 정보처리기사 실기 기출문제
2024년 1회 정보처리기사 실기 기출문제문제 다음 JAVA 코드의 실행 순서를 중복 번호 없이 빈칸에 작성하시오. 실행 순서 : 5 → ( ) → ( ) → ( ) → ( ) → ( ) class Parent { int x, y; Parent(int x, int y) { (_1_)
august-jhy.tistory.com
문제 5
다음 C 프로그램의 실행결과를 쓰시오.
#include <stdio.h>
struct BankAcc {
int accNum;
double bal;
};
double sim_pow(double base, int year) {
double r = 1.0;
for (int i = 0; i < year; i++) {
r = r * (1.0 + base);
}
return r;
}
void initAcc(struct BankAcc *acc, int x, double y) {
acc->accNum = x;
acc->bal = y;
}
void test01(struct BankAcc *acc, double en) {
if (en > 0 && en < acc->bal) {
acc->bal -= en;
} else {
acc->bal += en;
}
}
void test02(struct BankAcc *acc) {
acc->bal = acc->bal * sim_pow(0.1, 3);
}
int main() {
struct BankAcc myAcc;
initAcc(&myAcc, 9981, 2200.0);
test01(&myAcc, 100.0);
test02(&myAcc);
printf("%d and %0.2f", myAcc.accNum, myAcc.bal);
return 0;
}
정답
해설
[정보처리기사] [ C ] 구조체와 포인터 활용 | 복리 알고리즘 | 2024년 1회 정보처리기사 실기 기출
2024년 1회 정보처리기사 실기 기출문제문제다음 C 프로그램의 실행결과를 쓰시오.#include struct BankAcc { int accNum; double bal;};double sim_pow(double base, int year) { double r = 1.0; for (int i = 0; i accNum = x; acc->bal =
august-jhy.tistory.com
🔎 응용 문제
[정보처리기사] [ C ] 구조체와 포인터를 활용한 복리 계산 문제 | 복리 알고리즘 | 2024년 1회 정보
2024년 1회 정보처리기사 실기 기출문제문제다음 C 프로그램의 실행결과를 쓰시오.#include typedef struct{ int accNum; double bal;} BankAcc; double sim_pow(double base, int year){ int i; double r = 1.0; for(i = 0; i accNum = x; ac
august-jhy.tistory.com
문제 6
다음 파이썬 코드의 실행 결과를 쓰시오.
a = ["Seoul", "Kyeonggi", "Incheon", "Daejun", "Daegu", "Pusan"]
str = "S"
for i in a:
str = str + i[1]
print(str)
정답
해설
[정보처리기사] [Python] 리스트와 for in문 활용 | 문자열 인덱싱 | 2024년 1회 정보처리기사 실기 기
2024년 1회 정보처리기사 실기 기출문제문제다음 파이썬 코드의 실행 결과를 쓰시오.a = ["Seoul", "Kyeonggi", "Incheon", "Daejun", "Daegu", "Pusan"] str = "S" for i in a: str = str + i[1] print(str)정답Seynaau해설 ▼비슷
august-jhy.tistory.com
문제 7
다음 Java 코드를 실행했을 때 출력 결과를 쓰시오.
class classOne {
int a, b;
public classOne(int a, int b) {
this.a = a;
this.b = b;
}
public void print() {
System.out.println(a + b);
}
}
class classTwo extends classOne {
int po = 3;
public classTwo(int i) {
super(i, i+1);
}
public void print() {
System.out.println(po * po);
}
}
public class main {
public static void main(String[] args) {
classOne one = new classTwo(10);
one.print();
}
}
정답
해설
[정보처리기사] [Java] 상속과 오버라이딩 | 2024년 1회 정보처리기사 실기 기출문제
2024년 1회 정보처리기사 실기 기출문제문제다음 Java 코드를 실행했을 때 출력 결과를 쓰시오.class classOne { int a, b; public classOne(int a, int b) { this.a = a; this.b = b; } public void print() { System.out.println(a + b);
august-jhy.tistory.com
문제 8
다음 C 프로그램의 실행결과를 쓰시오.
#include<stdio.h>
#include<ctype.h>
int main(){
char* p = "It is 8";
char result[100];
int i;
for(i = 0; p[i] != '\0'; i++){
if(isupper(p[i]))
result[i] = (p[i] - 'A' + 5) % 25 + 'A';
else if(islower(p[i]))
result[i] = (p[i] - 'a' + 10) % 26 + 'a';
else if(isdigit(p[i]))
result[i] = (p[i] - '0' + 3) % 10 + '0';
else if(!(isupper(p[i]) || islower(p[i]) || isdigit(p[i])))
result[i] = p[i];
}
result[i] = '\0';
printf("%s\n", result);
return 0;
}
정답
해설
[정보처리기사] [ C ] isupper/islower/isdigit 문자 판별 함수 | 아스키코드 | 2024년 1회 정보처리기사 실
2024년 1회 정보처리기사 실기 기출문제문제다음 C 프로그램의 실행결과를 쓰시오.#include#include int main(){ char* p = "It is 8"; char result[100]; int i; for(i = 0; p[i] != '\0'; i++){ if(isupper(p[i])) result[i] = (p[i] - 'A'
august-jhy.tistory.com
🔎 응용 문제
[정보처리기사] [ C ] 문자열 문자 변환 함수 | 아스키코드 | 2024년 1회 정보처리기사 실기 기출문
2024년 1회 정보처리기사 실기 기출문제문제다음 C 프로그램의 실행결과를 쓰시오.#include #include void isUpper(char *str);void isLower(char *str);void isNum(char *str);char str[] = "It is 8";int main() { int i = 0; while (i = 'A
august-jhy.tistory.com
문제 9
다음은 응집도 종류이다. 보기에서 응집도가 높은 순으로 나열하시오.
(1) : 기능적 응집도
(2) : 통신적(교환적) 응집도
(3) : 우연적 응집도
(4) : 시간적 응집도
정답
(1) : 기능적 응집도
(2) : 통신적(교환적) 응집도
(4) : 시간적 응집도
(3) : 우연적 응집도
해설
[정보처리기사] 모듈의 결합도(Coupling)와 응집도(Cohesion) | 정보처리기사 기출문제
1️⃣ 모듈의 독립성모듈은 시스템의 기능을 향상시키고, 수정 및 재사용을 용이하게 하기 위해 기능 단위로 분해된 소프트웨어 구성 요소입니다.모듈의 독립성은 결합도를 낮추고 응집도를 높
august-jhy.tistory.com
문제 10
아래 그림에서의 네트워크에서 라우터을 통한 할당 가능한 2번, 4번, 5번의 IP를 <보기>에서 찾아 작성하시오.
1번 IP : 192.168.35.3/24
3번 IP : 129.200.10.16/22
6번 IP : 192.168.36.24/24
< 보기 >
- 192.168.35.0
- 192.168.35.72
- 192.168.36.0
- 192.168.36.249
- 129.200.8.0
- 129.200.8.249
정답
2번 IP : 192.168.35.72
4번 IP : 129.200.8.249
5번 IP : 192.168.36.249
해설
[정보처리기사] 서브넷과 서브넷 마스크 | 2024년 1회 정보처리기사 실기 기출문제
2024년 1회 정보처리기사 실기 기출문제문제아래 그림에서의 네트워크에서 라우터을 통한 할당 가능한 2번, 4번, 5번의 IP를 보기에서 찾아 작성하시오.1번 IP : 192.168.35.3/24 3번 IP : 129.200.10.16/22 6
august-jhy.tistory.com
문제 11
해당 표에서 나타나고 있는 정규형은 무엇인가?
정답
해설
[정보처리기사] 정규화 : 1NF, 2NF, 3NF, BCNF, 4NF, 5NF | 정보처리기사 실기 기출문제
📌 정규화의 기본 개념정규화(Normalization)란 데이터베이스에서 데이터를 체계적으로 정리하는 과정으로, 데이터 중복을 최소화하고 이상(Anomaly)을 방지하며, 무결성을 유지하는 것을 목표로 합
august-jhy.tistory.com
문제 12
아래의 내용에서 설명하는 네트워크 용어를 영문 약자로 작성하시오.
- 기업의 근거리 통신망과 같은 자율 네트워크 내의 게이트웨이들 간에 라우팅 정보를 주고받는데 사용되는 프로토콜 이다.
- Link-State 알고리즘을 사용하여 네트워크가 변경이 되더라도 컨버전스 시간이 짧고 라우팅 루프가 생기지 않는다.
- 내부 라우팅 프로토콜이며 대규모 네트워크에 적합하다
정답
해설
[정보처리기사] OSI 네트워크 계층 (Network Layer) | TCP/IP 인터넷 계층 (Internet Layer) | 정보처리기사 기
📌 OSI 7계층 모델- OSI(Open Systems Interconnection) 7계층 모델은 네트워크 통신을 7개의 계층으로 나누어 데이터 전송 과정을 이해하고 설계하는 데 사용되는 참조 모델입니다. 각 계층은 특정 네트워
august-jhy.tistory.com
문제 13
다음은 조인(JOIN)에 대한 설명이다. 각 설명에 대한 답을 <보기>에서 찾아 작성하시오.
- ( 1 ) : 조인에 참여하는 두 릴레이션의 속성 값을 비교하여 조건을 만족하는 튜플만 반환한다.
- ( 2 ) : 조건이 정확하게 '=' 등호로 일치하는 결과를 반환한다.
- ( 3 ) : ( 2 ) 조인에서 조인에 참여한 속성이 두 번 나오지 않도록 중복된 속성을 제거한 결과를 반환한다.
<보기>
세타 조인
동등 조인
자연 조인
외부 조인
세미 조인
정답
1. 세타 조인
2. 동등 조인
3. 자연 조인
해설
[정보처리기사] SQL | JOIN 기본 개념과 종류 | 2024년 1회 정보처리기사 실기 기출문제
2024년 1회 정보처리기사 실기 기출문제문제다음은 조인(JOIN)에 대한 설명이다. 각 설명에 대한 답을 에서 찾아 작성하시오.( 1 ) : 조인에 참여하는 두 릴레이션의 속성 값을 비교하여 조건
august-jhy.tistory.com
문제 14
페이지 교체 알고리즘으로 LRU와 LFU 알고리즘을 사용하고 페이지 참조 순서는 다음과 같다.
페이지 참조 순서 : 1, 2, 3, 1, 2, 4, 1, 2, 5, 7
이 경우 할당된 프레임의 수가 3개일 때 LRU와 LFU 알고리즘에서 발생하는 페이지 부재 횟수를 작성하시오.
단, 초기에는 기억장치가 모두 비어 있다고 가정한다.
정답
LRU : 6
LFU : 6
해설
[정보처리기사] 페이지 교체 알고리즘 | LRU와 LFU 비교 | 2024년 1회 정보처리기사 실기 기출문제
2024년 1회 정보처리기사 실기 기출문제문제페이지 교체 알고리즘으로 LRU와 LFU 알고리즘을 사용하고 페이지 참조 순서는 다음과 같다. 페이지 참조 순서 : 1, 2, 3, 1, 2, 4, 1, 2, 5, 7이 경우 할당된 프
august-jhy.tistory.com
문제 15
다음 SQL 문을 실행했을 때의 결과는?
SELECT
B
FROM
R1
WHERE
C IN (SELECT C FROM R2 WHERE D="k");
정답
B
a
b
해설
[정보처리기사] SQL | 서브쿼리(Subquery) & IN 연산자 | 2024년 1회 정보처리기사 실기 기출문제
2024년 1회 정보처리기사 실기 기출문제문제다음 SQL 문을 실행했을 때의 결과는?SELECT BFROM R1WHERE C IN (SELECT C FROM R2 WHERE D="k");정답B a b해설1️⃣ 서브쿼리 (Subquery)와 메인쿼리 (Main Query)SQL에서 서브
august-jhy.tistory.com
문제 16
다음은 애플리케이션 테스트 관리 유형에 대한 내용이다. 설명하는 답을 <보기>에서 골라 작성하시오.
- 모든 분기와 조건의 조합을 고려하나 모든 조합을 테스트하는 대신에 테스트가 필요한 중요한 조합을 찾아내는데에 중점을 둔다.
- 특정 조건을 수행할 때 다른 조건과는 상관없이 전체 결과에 영향을 미치는 조건만을 테스트한다.
- 각각의 파라미터는 적어도 한 번은 최종 결과에 영향을 주어야 한다.
- 개별 조건식이 다른 조건식의 영향을 받지 않고 전체 조건식의 결과에 독립적으로 영향을 주는 테스트케이스 도출로 구조적 테스트기법이다.
- 개별 조건식이 전체 조건식의 결과에 영향을 주는 조합을 찾아 커버리지를 테스트 하는 방법
<보기>
ㄱ. 구문 커버리지 Statement Coverage (SC)
ㄴ. 결정 커버리지 Decision Coverage (DC) / Branch Coverage
ㄷ. 조건 커버리지 Condition Coverage (CC)
ㄹ. 변경 조건/결정 커버리지 Modified Condition/Decision Coverage (MC/DC)
ㅁ.다중 조건 커버리지 Multiple Condition Coverage (MCC)
ㅂ.조건/결정 커버리지 Condition/Decision Coverage (C/DC 또는 C/D)
정답
해설
[정보처리기사] 소프트웨어 테스트 유형 총정리 | 프로그램 실행 여부, 테스트 기법, 테스트 시각
소프트웨어 테스트 유형소프트웨어 테스트는 다양한 기준에 따라 여러 유형으로 나뉩니다. 여기서는 프로그램 실행 여부, 테스트 기법, 테스트 시각, 테스트 목적 및 개발 단계에 따른 테스트
august-jhy.tistory.com
문제 17
다음 설명에 해당하는 보안 용어를 보기에서 고르시오.
- 인터넷 공격자의 존재를 숨기면서 이 공격자에게 시스템에 대한 무제한 접근 권한을 부여하는 악성 프로그램이다.
- 해커가 자신의 존재를 숨기면서 허가되지 않은 컴퓨터나 소프트웨어에 접근할 수 있도록 설계된 도구이다.
- 시스템 침입 후 침입 사실을 숨긴 채 차후의 침입을 위한 백도어, 트로이목마 설치, 그리고 원격접근, 내부 사용 흔적 삭제, 관리자 권한 획득 등 주로 불법적인 해킹에 사용되는 기능들을 제공하는 프로그램들의 모음이다.
- 해커와 같이 일반적으로 권한이 없는 사용자가 접근할 수 없는 영역에 접근하여 시스템을 제어하도록 설계된 악성 소프트웨어 모음이다.
- 일반적으로 펌웨어, 가상화 계층 등의 다양한 시스템 영역에서 작동하며, 운영체제의 시스템콜을 해킹하여 악성코드의 실행 여부를 숨겨 안티바이러스 탐지를 우회할 수 있다.
<보기>
ㄱ. Worm
ㄴ. Trojan horse
ㄷ. Backdoor
ㄹ. Virus
ㅁ. Ransomware
ㅂ. Spyware
ㅅ. Rootkit
정답
해설
[정보처리기사] 소프트웨어 개발 보안 | 대표적인 보안 공격 기법 | 서비스 공격 유형 | 정보처리
📌소프트웨어 개발 보안의 3대 요소 SW 개발 보안의 3대 요소는 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)입니다. 이를 합쳐서 CIA 삼각형이라고도 부릅니다.기밀성(Confidentiality) : 인
august-jhy.tistory.com
문제 18
다음 설명에 해당하는 보안 용어를 보기에서 고르시오.
- 공격자가 다양한 첨단 보안 위협을 이용하여 특정 기업이나 조직의 네트워크에 지능적인 방법을 사용하여 지속적으로 가하는 공격
- 불특정 다수가 아닌 명확한 표적을 정하여 지속적인 정보수집 후 공격
- 특정 기업 또는 기관의 시스템을 목표로 한 장기적이고 정교한 공격
- 시스템에 직접 침투하는 것뿐 아니라, 표적 내부 직원들의 단말기까지도 대상으로 삼음
- Zero-day 취약점, 악성코드 등 다양한 보안 위협 기술을 사용
- 침투 → 검색 → 수집 → 유출의 4단계 공격 절차를 가짐
<보기>
ㄱ. DDoS
ㄴ. Smishing
ㄷ. Zero-Day Attack
ㄹ. XSS
ㅂ. Keylogger Attack
ㅅ. APT
정답
해설
[정보처리기사] 소프트웨어 개발 보안 | 대표적인 보안 공격 기법 | 서비스 공격 유형 | 정보처리
📌소프트웨어 개발 보안의 3대 요소 SW 개발 보안의 3대 요소는 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)입니다. 이를 합쳐서 CIA 삼각형이라고도 부릅니다.기밀성(Confidentiality) : 인
august-jhy.tistory.com
문제 19
아래와 같은 테이블이 있을때, 다음 SQL 문의 결과는?
SELECT
COUNT(*)
FROM
TABLE
WHERE
EMPNO > 100
AND
SAL >= 3000
OR
EMPNO = 200;
정답
해설
[정보처리기사] SQL | WHERE 절 AND OR 우선순위 | COUNT 함수 문제 | 2024년 1회 정보처리기사 실기 기출
2024년 1회 정보처리기사 실기 기출문제문제아래와 같은 테이블이 있을때, 다음 SQL 문의 결과는?SELECT COUNT(*) FROM TABLE WHERE EMPNO > 100 AND SAL >= 3000 OR EMPNO = 200;정답1해설1️⃣ COUNT(*) 함수COUNT(*)는 테이
august-jhy.tistory.com
문제 20
다음 설명에 해당하는 디자인 패턴은 무엇인가?
- 구체적인 클래스에 의존하지 않고 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스를 제공하는 패턴이다.
- 상세화된 서브클래스를 정의하지 않고도 서로 관련성 있거나 독립적인 여러 객체의 군을 생성하기 위한 인터페이스를 제공하는 패턴이다.
- 연관성이 있는 객체 군이 여러 개 있을 경우 이들을 묶어 추상화하고, 어떤 구체적인 상황이 주어지면 팩토리 객체에서 집합으로 묶은 객체 군을 구현화 하는 생성 패턴이다.
- 관련성 있는 여러 종류의 객체를 일관된 방식으로 생성하는 경우에 유용하다.
- 키트(kit)라고도 불리는 패턴이다.
정답
해설
[정보처리기사] Gof 디자인 패턴, 디자인 패턴 정리 | 정보처리기사 실기 기출 문구 정리
📌 디자인 패턴 (Design Patterns)디자인 패턴은 소프트웨어 설계에서 반복적으로 나타나는 문제에 대한 전형적인 해결 방안 또는 예제입니다. 각 모듈의 세분화된 역할이나 모듈 간 인터페이스와
august-jhy.tistory.com
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."