자격증/정보처리기사 실기 - 기출문제

[정보처리기사 실기] 2020년 4회 05 - 프로그래밍 [Python]

쏠솔랄라 2025. 7. 13. 15:41

 

 

 

05 다음 Python으로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)

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

 

 

 

 

해설

코드 실행순서 및 해석
1 lol = [[1, 2, 3], [4, 5], [6, 7, 8, 9]] 1 * 파이썬의 리스트
* 리스트 안에 리스트가 들어 있는 2차원 리스트
* 파이썬은 배열 대신 리스트 사용
2 print(lol[0]) 2 lol의 첫 번째 리스트 출력
-> 출력: [1, 2, 3]
-> 종료문자가 따로 없어도 줄바꿈한다
3 print(lol[2][1]) 3 [2]리스트의 [1] 요소를 출력한다
-> 출력: 7
4 for sub in lol: 4 sub 변수에 lol 리스트 값을 집어넣어라
-> [0], [1], [2] 리스트에 순서대로 넣는다
-> 3개의 리스트를 가지고 있는 리스트이기 때문에 3번 반복된다
5      for item in sub: 5 sub에는 list값이 들어 있는데 이 값을 item에 넣는다
6      print(item, end=' ') 6 ** 종료 시 공백 추가
7      print() 7 줄바꿈

 

 

1-3.

  [0] [1] [2] [3]
[0] [0][0]
1
[0][1]
2
[0][2]
3
[0][3]
x
[1] [1][0]
4
[1][1]
5
[1][2]
x
[1][3]
x
[2] [2][0]
6
[2][1]
7
[2][2]
8
[2][3]
9

* 만약 lol[1][3]을 호출한다면 존재하지 않는 인덱스를 소환했으므로 IndexError가 발생

 

4-7.

sub
[1, 2, 3]
[4, 5]
[6, 7, 8, 9]
item
1 4 6
2 5 7
3   8
    9