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

정보처리기사 실기 Python 파이썬 기출문제 모음 (최근 5개년)

by 셈이 2025. 4. 18.
728x90
반응형

안녕하세요. 정보처리기사 실기 시험 기출문제 중 Python 관련 문제들만 선별하여 정리한 자료입니다.

 

2020년 정보처리기사가 개편된 이후부터 최근 5개년 간의 기출문제를 유형별로 정리하였습니다.

 

시험을 준비하시는 분들께 도움이 되기를 바랍니다.

 

 

아래는 이 자료에 포함된 기출문제 회차 목록입니다.

  • 2024년 1회 / 2회 / 3회
  • 2023년 1회 / 2회 / 3회
  • 2022년 1회 / 2회 / 3회
  • 2021년 1회 / 2회 / 3회
  • 2020년 1회 / 2회 / 3회

1. 2020년 2회차

countries = {'일본', '중국', '한국'}        // 초기 국가 집합 생성
countries.add('베트남')                   // '베트남' 추가
countries.add('중국')                     // '중국'은 이미 있으므로 추가되지 않음
countries.remove('일본')                 // '일본' 제거
countries.update(['홍콩', '한국', '태국']) // '홍콩', '한국', '태국' 추가 (중복은 무시)
print(countries)                         // 최종 집합 출력

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

 

2. 2020년 4회차

lol = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]   // 2차원 리스트 생성

print(lol[0])             // 첫 번째 리스트 출력: [1, 2, 3]
print(lol[2][1])          // 세 번째 리스트의 두 번째 요소 출력: 7

for sub in lol:           // lol의 각 하위 리스트 순회
    for item in sub:      // 하위 리스트 내의 각 요소 순회
        print(item, end='') // 요소 출력, 줄바꿈 없이
    print()               // 각 하위 리스트마다 줄바꿈

답) 

[1, 2, 3]
7
123
45
6789

 

 

3. 2021년 1회차

class Good:                                 // 클래스 정의
    li = ["seoul", "kyeonggi", "inchon", "daejeon", "daegu", "pusan"]  
                                            // 클래스 변수: 지역 이름 리스트

g = Good()                                  // Good 클래스의 인스턴스 생성
str01 = ''                                  // 결과를 저장할 문자열 변수

for i in g.li:                              // 리스트의 각 지역 이름 순회
    str01 = str01 + i[0]                    // 각 문자열의 첫 글자만 이어붙이기

print(str01)                                // 최종 문자열 출력

답) skiddp

 

 

4. 2021년 2회차

a = 100                     // 초기값 설정
result = 0                  // 결과 변수 초기화

for i in range(1, 3):       // i = 1부터 2까지 반복 (range는 끝 제외)
    result = a >> i         // a를 i만큼 오른쪽으로 비트 시프트
    result = result + 1     // 시프트 결과에 1 더하기

print(result)               // 마지막 반복의 결과 출력

답) 26

 

 

5. 2021년 3회차

a, b = 100, 200       // 변수 a는 100, b는 200으로 초기화
print(a == b)         // a와 b가 같은지 비교하여 결과 출력

답) False

 

 

6. 2022년 2회차

def exam(num1, num2=2):           // num2는 기본값 2를 가지는 매개변수
    print('a=', num1, 'b=', num2) // 두 인자의 값을 출력

exam(20)                          // num1만 전달 → num2는 기본값 사용

답) a= 20 b= 2

 

 

7. 2022년 2회차

a = "REMEMBER NOVEMBER"       // 문자열 a 선언
b = a[:3] + a[12:15]           // b는 a에서 부분 문자열 추출 후 합치기
c = "R AND %s" % "STR"         // 문자열 포맷팅: %s 자리에 "STR" 삽입

print(b + c)                   // b와 c를 이어붙여 출력

답) REMEMBER AND STR

 

 

8. 2022년 3회차

TestList = [1, 2, 3, 4, 5]                          // 초기 리스트
TestList = list(map(lambda num: num + 100, TestList)) // 각 요소에 100 더하기

print(TestList)                                     // 변환된 리스트 출력

답) [101, 102, 103, 104, 105]

 

 

9. 2023년 1회차

a = {'한국', '중국', '일본'}                   // 초기 집합 생성
a.add('베트남')                            // '베트남' 추가
a.add('중국')                              // '중국'은 이미 있으므로 무시됨
a.remove('일본')                          // '일본' 제거
a.update({'홍콩', '한국', '태국'})           // 여러 요소 한 번에 추가 (중복은 무시)

print(a)                                  // 최종 집합 출력

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

 

 

10. 2023년 2회차

a = "engineer information processing"   // 문자열: 총 31자
b = a[:3]       // 'eng'
c = a[4:6]      // 'ne'
d = a[28:]      // 'ing'
e = b + c + d   // 'eng' + 'ne' + 'ing'
print(e)

답)  engneing

 

 

11. 2023년 3회차

 

조건 : 빈칸에 들어갈 알맞은 말을 쓰시오.

 

입력 : 3,7

 

출력 :

파이썬 입출력에 대한 문제입니다.
3 7
3 + 7 = 10

 

print("파이썬 입출력에 대한 문제입니다.")

num1, num2 = input()._________________()        // 공백 기준으로 두 값을 입력받음
num1 = int(num1)                    
num2 = int(num2)

print(num1, num2)                   // 두 수를 출력

num3 = num1 + num2                  // 합 계산

print(num1, "+", num2, "=", num3)

답) split

 

 

12. 2024년 1회차

a = ["Seoul", "Kyeonggi", "Incheon", "Daejun", "Daegu", "Pusan"]  // 지역 이름 리스트
str = "S"                                                        // 초기 문자열

for i in a:                  // 리스트 a를 순회
    str = str + i[1]         // 각 단어의 두 번째 글자를 str에 추가 (i[1])

print(str)                   // 결과 출력

답) Seynaau

 

 

13. 2024년 2회차

def fnCalculation(x, y):               // 문자열 x에서 부분 문자열 y의 등장 횟수를 계산
    result = 0                         // 결과 카운트 초기화
    for i in range(len(x)):            // 문자열 x의 모든 인덱스를 순회
        temp = x[i:i+len(y)]           // x의 현재 위치부터 y의 길이만큼 슬라이스
        if temp == y:                  // 슬라이스가 y와 일치하면
            result += 1                // 카운트 증가
    return result                      // 총 횟수 반환

a = "abdcabcabca"                      // 전체 문자열
p1 = "ab"                              // 찾을 첫 번째 패턴
p2 = "ca"                              // 찾을 두 번째 패턴

out = f"ab{fnCalculation(a, p1)}ca{fnCalculation(a, p2)}" // f-string으로 포맷팅
print(out)                             // 결과 출력

답) ab3ca3

 

 

14.2024년 3회차

def func(lst):                                 // 리스트를 뒤집는 함수
    for i in range(len(lst) // 2):             // 절반만 순회
        lst[i], lst[-i-1] = lst[-i-1], lst[i]   // 앞뒤 요소를 swap

lst = [1, 2, 3, 4, 5, 6]                        // 원본 리스트
func(lst)                                       // 리스트를 뒤집음

print(sum(lst[::2]) - sum(lst[1::2]))           // 짝수 인덱스 합 - 홀수 인덱스 합

답) 3

 

 

728x90
반응형