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

정보처리기사 실기 프로그래밍 문제 파이썬 기출 풀이 모음

by 셈이 2022. 10. 14.
728x90
반응형

2022년 정보처리기사 실기를 보고 느낀 점은 '코딩 문제를 일단 다 맞자!' 였어요. 용어를 묻는 문제가 너무 지엽적으로 나오기도 했고, 그 많은 방대한 범위를 정확하게 써 내려갈 정도로 공부를 하는 게 너무 어렵게 느껴졌거든요.

 

특히나 2020년도 ncs 기반으로 개편이 된 이후, 코딩 문제가 8문제 까지도 나오고 있습니다. 60점이 합격점수에 12문제만 맞으면 되니까, 코딩 문제 8문제 다 맞추고 다른 거 4개 더 맞겠다 라는 생각으로 접근해야 하는 것 같아요.

 

코딩 문제는 C언어, 자바, 파이썬, SQL 이렇게 4개의 부분에서 나오는데요. 저는 정리하면서 제가 오히려 공부가 되는 편 이여서, 하나 하나 기출문제를 분석해 보려고 합니다.

 

C언어와 Java 관련된 기출문제 풀이는 제가 블로그에 따로 포스팅해 두었습니다!

 

정보처리기사 실기 프로그래밍 문제 C언어 기출 모음

정보처리기사 시험을 보고 난 뒤 느낀점은 '20문제 중에 코딩 문제는 일단 다 맞아야겠다' 였어요. 용어를 서술하는 문제는 너무 지엽적으로 나와서 맞추기가 어렵더라구요. 특히나 2020년도 이후

roadtofree.tistory.com

 

정보처리기사 실기 프로그래밍 문제 Java 기출 풀이 모음

2022년 정보처리기사 실기 2회차를 보고 느낀 점은 '코딩 문제는 일단 다 맞아야겠다' 였어요. 용어를 묻는 문제가 너무 지엽적으로 나와서 답을 적어내기가 어렵더라고요. 특히나 2020년도 이후에

roadtofree.tistory.com

 

 

정보처리기사 실기 파이썬 기출 문제 (2020년~ 2022년도/ 9회분)

대부분의 문제가 결과값이나 빈칸에 들어갈 알맞은 말을 쓰는 것이어서 문제 부분은 생략하겠습니다.

 

 

 

 

 

 

1.  2022년 2회차 13번

 

a = "REMEMBER NOVEMBER" 
b = a[:3] + a[12:15]; 
c = "R AND %s" % "STR"; 
      
print(b+c);

 

더보기

답) REMEMBER AND STR

 

b는 파이썬에서 '리스트 슬라이싱'에 관한 내용입니다.

a[:3]REM a[12:15] EMBE 입니다.

 

c는 %s 자리에 STR을 대입하라는 뜻입니다.

그래서 R AND STR

 

b+c = REMEMBER AND STR

 

 

 

 

 

 

 

2.  2022년 2회차 6번

def exam(num1, num2=2):
  print('a=', num1, 'b=', num2)

exam(20)

 

더보기

답) a=20/ b=2

 

파이썬의 함수에 관한 문제입니다. 함수 exam()을 보시면 매개변수가 2개인데 인자를 1개만 줬습니다.  

 

그런데 num 1은 기본값이 없지만, num 2 =2 기본값이 있습니다. 이게 무슨 뜻이냐면, 따로 들어온 인자가 없을 땐 num2 =2로 한다는 뜻입니다.

 

살짝 응용을 해서, 반대로 exam( num1 = 2, num 2) 이렇게 준다면 가능할까요? 답은 불가능합니다. 파이썬에서 함수를 만들고 그 첫 번째 인자는 무조건 받는 걸로 만들어야 하기 때문에 기본값을 지정할 수 없습니다.

 

그래서 a=20 b=2

 

 

 

 

 

 

3.  2021년 3회차 14번

a,b = 100, 200 
print(a==b)

 

더보기

답) False

 

 

파이썬의 불린에 대하여 묻는 문제입니다.

 

c언어, java, 파이썬의 불린형에 대해 정리를 해보자면 이렇습니다.

 

C언어 Java 파이썬
1 true True
0 false False

 

가장 중요한 점은 파이썬은 첫 글자가 대문자라는 것입니다. 그래서 만약에 답을 false로 적으셨다면 틀린 답입니다.

 

 

 

 

 

 

4.  2021년 2회차 7번

 

a = 100
result = 0
for i in range(1,3);
   result = a >> i
   result = result + 1
pirnt(result)

 

더보기

답) 26

 

파이썬과 비트 연산자에 관한 문제입니다.

 

n = 100

print(n<<1)  #100 2배 한 값인 20 이 출력됩니다.

print(n>>1)  #100을 반으로 나눈 값인 5 가 출력됩니다.

print(n<<2)  #100 4배 한 값인 40 이 출력됩니다.

print(n>>2)  #100을 반으로 나눈 후 다시 반으로 나눈 값인 2 가 출력됩니다.

 

비트상에서 움직이기 때문에 2진법으로 계산하여 값이 2ⁿ배 커지거나 작아집니다.

 

파이썬의 for문에서 시작 숫자와 끝 숫자를 지정하려면 range(시작 숫자, 끝 숫자) 형태를 사용하는데, 이때 끝 숫자는 포함되지 않습니다.

 

i=1일때  a=100에서 2배 작아져서 50/ result = 51

 

i=2일때  a=100에서 4배 작아져서 25/ result =26

 

result 값만 변했지, 변형된 result 값이 a에 영향을 주는 코드는 어디에도 없으므로 a는 계속 100입니다.

 

 

 

 

 

 

5.  2021년 1회차 5번

class good :
	li = ["seoul", "kyeonggi","inchon","daejeon","daegu","pusan"]

g = good()
str01 = ''
for i in g.li:
	str01 = str01 + i[0]
    
print(str01)

 

더보기

답) skiddp

 

파이썬의 for문입니다. 기본 문장은 for 변수 in 리스트입니다. 그래서 리스트의 요소들을 한 개씩 변수에 집어넣고, 차례로 수행문을 수행하는 것이죠.

 

마찬가지로 g.li  클래스 good의 리스트 li의 요소들을 i에 집어넣고, 수행문인 str01 = str01 + i[0]을 수행하라는 뜻입니다.

 

그래서 각 단어들의 0번째 요소, 즉 첫 번째 글자를 출력하여 답은 skiddp입니다.

 

 

 

 

 

6.  2020년 4회차 9번

 

lol = [[1,2,3],[4,5],[6,7,8,9]]
print(lol[0])
print(lol[2][1])
	for sub in lol;
    	for item in sub;
        	print(item, end = '')
        print()

 

더보기

[1,2,3]

7

1 2 3

4 5

6 7 8 9

 

배열에서 순서를 매길 땐 0부터 시작을 합니다. 0.1.2...

 

lol[0]은 배열 lol의 0번째 요소인 [1,2,3]

lol[2][1]은 3번째 요소의 1번째 요소 7

 

lol의 0번째 요소인 [1,2,3]이 sub에 들어가고, sub의 0번째 요소가 item에 들어가면, 1 출력.  1번째 요소가 item에 들어가면, 2 출력. 2번째 요소가 item에 들어가면 3 출력.

 

end = " " 는 띄어쓰기를 의미합니다. 그래서 최종적으로 1 2 3 출력

 

그리고 개행 문자인 print() 를 만나 엔터

 

위와 같은 메커니즘으로 조건문이 실행이 되면

1 2 3

4 5

6 7 8 9 가 출력됩니다.

 

 

 

 

 

7.  2020년 2회차 2번

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

 

더보기

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

 

집합 a에 베트남, 중국 삽입 / 일본 삭제/ 홍콩, 한국 태국을 삽입합니다.

 

파이썬에서 집합의 특징순서가 상관없고, 중복이 없습니다. 그래서 답은 중복을 제거하고 남은 {'중국', '한국', '베트남', '홍콩', '태국'}입니다.

 

여기서 add와 update 함수의 차이는, add는 1개씩만 삽입할 수 있지만 update는 여러 개를 한 번에 삽입할 수 있는 함수입니다.

 

 

 

 

 

 


 

 

정보처리기사 실기 프로그래밍 문제 C언어 기출 모음

정보처리기사 시험을 보고 난 뒤 느낀점은 '20문제 중에 코딩 문제는 일단 다 맞아야겠다' 였어요. 용어를 서술하는 문제는 너무 지엽적으로 나와서 맞추기가 어렵더라구요. 특히나 2020년도 이후

roadtofree.tistory.com

 

정보처리기사 실기 프로그래밍 문제 Java 기출 풀이 모음

2022년 정보처리기사 실기 2회차를 보고 느낀 점은 '코딩 문제는 일단 다 맞아야겠다' 였어요. 용어를 묻는 문제가 너무 지엽적으로 나와서 답을 적어내기가 어렵더라고요. 특히나 2020년도 이후에

roadtofree.tistory.com

 

정보처리기사 실기 프로그래밍 문제 SQL 기출 풀이 모음

정보처리기사 실기 2회차를 보고, 또 떨어지고 나서 느낀점은 '코딩 문제는 일단 다 맞아야 겠구나!' 였어요. 용어를 묻는 문제가 생각보다 너무 많이 나오기도 했고, 그 내용이 너무 지엽적이여

roadtofree.tistory.com

 

반응형