기출문제/정보처리기사

2020년 4회 정보처리기사 기출문제 68번

엉클지니 2025. 4. 3. 19:35

68. 다음 파이썬으로 구현된 프로그램의 실행 결과로 옳은 것은?

 [20, 60]              [60, 20]

  [0, 20, 40, 60]     [10, 30, 50, 70]

 

 

 

이 문제는 파이썬의 리스트 슬라이싱(slicing) 기능을 이용한 문제입니다. 리스트 슬라이싱을 잘 이해하면 쉽게 풀 수 있어요! 😊

문제 분석

주어진 리스트 a는 아래와 같습니다.

a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]

그리고 질문은 다음과 같은 슬라이싱을 수행한 결과입니다.

a[ :7:2]

슬라이싱 구문은 [start:stop:step]의 형식을 따릅니다. 이 각 부분이 무엇을 의미하는지 자세히 살펴볼게요.

1. start: 리스트의 어디에서부터 슬라이싱을 시작할지 나타냅니다. start를 생략하면 기본값은 0입니다.

2. stop: 슬라이싱이 끝나는 지점입니다. stop을 생략하면 리스트의 끝까지 슬라이싱이 됩니다.

3. step: 슬라이싱을 진행하는 "간격"을 나타냅니다. step을 2로 설정하면 두 칸씩 건너뛰며 값을 가져옵니다.

따라서 a[ :7:2]의 의미는:

  • start가 생략되었으므로 첫 번째 원소부터 시작 (즉, 0번 인덱스부터)
  • stop이 7로 지정되어 있으므로, 7번 인덱스 바로 전까지 (즉, 6번 인덱스까지)
  • step이 2이므로, 두 칸씩 건너뛰며 값을 가져옵니다.

슬라이싱 해석

a[:7:2]를 실제로 실행하면, 리스트의 0번 인덱스부터 6번 인덱스까지, 두 칸씩 건너뛰며 값을 가져옵니다.

0번부터 6번까지의 인덱스 값:

[0, 10, 20, 30, 40, 50, 60]

여기서 두 칸씩 건너뛰면서 값을 가져오면:

  • 0번 인덱스: 0
  • 2번 인덱스: 20
  • 4번 인덱스: 40
  • 6번 인덱스: 60

따라서 결과는 [0, 20, 40, 60]이 됩니다.

결론

따라서 정답은 **③ [0, 20, 40, 60]**입니다.

예시 실행

a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
print(a[:7:2])  # 결과: [0, 20, 40, 60]

표로 정리

인덱스 0 1 2 3 4 5 6 7 8 9

0 10 20 30 40 50 60 70 80 90
  • 슬라이싱 범위: [:7] → 0번부터 6번 인덱스까지
  • step=2: 두 칸씩 건너뛰며 [0, 20, 40, 60]

결론 📝

a[:7:2]는 리스트에서 두 칸씩 건너뛰어 가져온 값이므로, [0, 20, 40, 60]이 정답입니다.

반응형