python문자열 다루기를 정리 할 수 있는 문제이다. 시험 보기 전에 한 번 보고 가면 더 좋을 문제다.

2. lower()
모든 문자를 소문자로 변환
s = "AbC"
s = s.lower()
print(s)
abc
반대로 대문자는
s.upper()
3. isalnum()
문자가
- 영어
- 숫자
인지 확인한다.
"a".isalnum()
True
"1".isalnum()
True
"!".isalnum()
False
이번 문제에서는
if ch.isalnum() or ch in "-_.":
처럼 허용 문자만 남길 때 사용했다.
4. isalpha()
영어인지 확인
"a".isalpha()
True
"3".isalpha()
False
5. isdigit()
숫자인지 확인
"3".isdigit()
True
"a".isdigit()
False
6. replace()
문자열 치환
s = "a..b"
s = s.replace("..",".")
a.b
이번 문제에서는
while ".." in s:
s = s.replace("..",".")
처럼 연속된 마침표를 하나로 줄이는 데 사용했다.
7. strip()
양쪽 문자 제거
s = "...abc..."
s.strip(".")
abc
왼쪽만 제거
s.lstrip(".")
오른쪽만 제거
s.rstrip(".")
8. split()
문자열 나누기
date = "2022.05.19"
year, month, day = date.split(".")
이번 코테에서 정말 많이 사용했다.
- 개인정보 수집 유효기간
- 신고 결과 받기
- 문자열 문제
거의 필수 함수라고 생각한다.
9. join()
리스트를 문자열로 합치기
arr = ["a","b","c"]
"".join(arr)
abc
구분자를 넣을 수도 있다.
"-".join(arr)
a-b-c
10. 문자열 슬라이싱
앞에서 자르기
s[:5]
뒤에서 자르기
s[:-1]
마지막 문자
s[-1]
이번 문제에서는
new_id = new_id[:15]
처럼 길이를 제한할 때 사용했다.
11. 문자열 길이
len(s)
길이 조건이 있는 문제에서는 거의 항상 사용된다.
12. 문자열 존재 여부
if ".." in s:
처럼 사용할 수 있다.
이번 문제에서는
while ".." in s:
와 함께 사용했다.
이번 문제에서 새롭게 익힌 Python 문자열 함수
함수용도
| lower() | 소문자 변환 |
| upper() | 대문자 변환 |
| isalnum() | 영문 또는 숫자인지 확인 |
| isalpha() | 영문인지 확인 |
| isdigit() | 숫자인지 확인 |
| replace() | 문자열 치환 |
| strip() | 양쪽 문자 제거 |
| rstrip() | 오른쪽 문자 제거 |
| lstrip() | 왼쪽 문자 제거 |
| split() | 문자열 분리 |
| join() | 문자열 합치기 |
| len() | 길이 확인 |
| in | 문자열 포함 여부 |
이번 문제를 통해 얻은 구현 패턴
이번 문제는 알고리즘보다 문자열 전처리(String Processing) 문제였다.
앞으로 문자열 문제가 나오면 가장 먼저
1. Python 문자열 함수로 해결 가능한가?
2. 명세가 단계별이라면 그대로 구현하면 되는가?
3. 반복해서 처리하는 문자열은 replace(), strip(), split()으로 해결할 수 있는가?
를 먼저 생각해보기로 했다.
문자열 문제는 복잡한 알고리즘보다 Python이 이미 제공하는 함수들을 얼마나 잘 활용하느냐가 구현 속도와 코드의 간결함을 결정한다.
파이썬은 참 사기다.
'프로그래밍 > 코딩 테스트, 더 이상 미룰 수 없다' 카테고리의 다른 글
| [코딩 테스트, 더 이상 미룰 수 없다] 프로그래머스 Lv1 실패율 - Python의 매력, Dictionary와 정렬의 자유도 (0) | 2026.06.27 |
|---|---|
| [코딩 테스트, 더 이상 미룰 수 없다] 프로그래머스 lv1 키패드 누르기 - B/DFS와 좌표 계산 분리해서 유형좁히기 (0) | 2026.06.27 |
| [코딩 테스트, 더 이상 미룰 수 없다] SQL[1] (0) | 2026.06.27 |
| [코딩 테스트, 더 이상 미룰 수 없다] 프로그래머스lv1 - 달리기 경주(Python으로 양방향 매핑 문제) (0) | 2026.06.27 |
| [코딩 테스트, 더 이상 미룰 수 없다] 프로그래머스 Lv1 - 신고 결과 받기 (0) | 2026.06.26 |