✨ 문제
a = "engineer information processing"
b = a[:3]
c = a[4:6]
d = a[28:]
e = b + c + d
print(e)
🎯 출제 의도
- 문자열 슬라이싱(slice) 문법을 정확히 이해하는가
- 문자열 인덱스의 0부터 시작 규칙을 아는가
- 끝 인덱스는 포함되지 않는다는 점을 구분할 수 있는가
📘 개념 정리
1. 문자열 인덱스 구조
- 문자열
a = "engineer information processing"
각 문자의 인덱스는 다음과 같다 👇
| 인덱스 | 문자 | 인덱스 | 문자 | 인덱스 | 문자 | |
|---|
| 0 | e | 10 | n | 20 | p | |
| 1 | n | 11 | | (공백) | 21 | r |
| 2 | g | 12 | i | 22 | o | |
| 3 | i | 13 | n | 23 | c | |
| 4 | n | 14 | f | 24 | e | |
| 5 | e | 15 | o | 25 | s | |
| 6 | e | 16 | r | 26 | s | |
| 7 | r | 17 | m | 27 | i | |
| 8 | | 18 | a | 28 | n | |
| 9 | i | 19 | t | 29 | g | |
2. 슬라이싱 구문 분석
b = a[:3]
c = a[4:6]
- 인덱스
4~5까지
→ a[4]='n', a[5]='e' → "ne"
d = a[28:]
- 인덱스
28부터 문자열 끝까지
→ a[28]='n', a[29]='g' → "ng"
3. 문자열 결합
e = b + c + d
"eng" + "ne" + "ng"
→ "engneng"
📝 풀이 과정
| 단계 | 변수 | 값 |
|---|
| ① | a | "engineer information processing" |
| ② | b = a[:3] | "eng" |
| ③ | c = a[4:6] | "ne" |
| ④ | d = a[28:] | "ng" |
| ⑤ | e = b + c + d | "engneng" |
✅ 최종 출력 결과
engneng
💡 정리
이 문제에서 꼭 알아야 할 개념:
- 슬라이싱 구문
a[start:end] → start 인덱스 포함, end 인덱스 직전까지
- 인덱스는 0부터 시작
- 끝 인덱스 생략(
a[28:]) 시, 문자열의 끝까지 반환
- 문자열 덧셈(
+)은 단순 연결(concatenation)