✨ 문제
a = ["Seoul", "Kyeonggi", "Incheon", "Daejun", "Daegu", "Pusan"]
str = "S"
for i in a:
str = str + i[1]
print(str)
🎯 출제 의도
- 리스트 요소 접근과 반복문(
for) 의 기본 구조 이해
- 문자열의 인덱싱(
i[1]) 개념 확인
- 문자열 덧셈(연결) 동작 파악
📘 개념 정리
1. 리스트 구조.
a = ["Seoul", "Kyeonggi", "Incheon", "Daejun", "Daegu", "Pusan"]
| 인덱스 | 원소 | i[1] (두 번째 문자) |
|---|
| 0 | "Seoul" | 'e' |
| 1 | "Kyeonggi" | 'y' |
| 2 | "Incheon" | 'n' |
| 3 | "Daejun" | 'a' |
| 4 | "Daegu" | 'a' |
| 5 | "Pusan" | 'u' |
2. 문자열 누적 구조
str = "S"
for i in a:
str = str + i[1]
- 반복문이 돌 때마다, 각 도시 이름의 두 번째 글자(
i[1]) 를 이어붙임.
str 변수에 누적되어 문자열이 점점 길어짐.
📝 풀이 과정
| 단계 | i | i[1] | str 누적 결과 |
|---|
| 초기값 | — | — | "S" |
| ① | "Seoul" | 'e' | "Se" |
| ② | "Kyeonggi" | 'y' | "Sey" |
| ③ | "Incheon" | 'n' | "Seyn" |
| ④ | "Daejun" | 'a' | "Seyna" |
| ⑤ | "Daegu" | 'a' | "Seynaa" |
| ⑥ | "Pusan" | 'u' | "Seynaau" |
✅ 최종 출력 결과
Seynaau
💡 정리
이 문제에서 꼭 알아야 할 개념:
- 리스트 순회
for i in a: → 리스트의 각 요소를 차례로 가져옴.
- 문자열 인덱싱
i[1] → 두 번째 문자(인덱스는 0부터 시작).
- 문자열 덧셈(
+)
- 문자열은 연결(concatenation) 가능.
str = str + i[1] → 누적 문자열 생성.
- 문자열은 불변(immutable) 이지만, 덧셈 시 새 문자열이 계속 만들어진다.