코딩 테스트에서 자주 사용되는 문자열 처리 함수 중 strip()과 split()은 매우 유용합니다.
특히 입력 값을 정리하거나 파싱할 때 필수적인 함수이므로, 이번 글에서 제대로 정리해 보겠습니다.
strip() 함수는 문자열의 양 끝에서 불필요한 공백이나 특정 문자를 제거할 때 사용됩니다.
✅ 기본 사용법
s = " hello world! "
print(s.strip()) # "hello world!"
기본적으로 공백(스페이스, 탭, 개행 문자 등)을 제거합니다.
✅ 특정 문자 제거
s = "---hello world!---"
print(s.strip("-")) # "hello world!"
strip("문자들")을 사용하면, 해당 문자들이 양 끝에서 제거됩니다.
✅ 왼쪽(lstrip()), 오른쪽(rstrip()) 제거
s = " hello world! "
print(s.lstrip()) # "hello world! "
print(s.rstrip()) # " hello world!"
lstrip(): 문자열의 왼쪽 공백 제거
rstrip(): 문자열의 오른쪽 공백 제거
💡 코딩 테스트 활용 예시
입력값 정리: input()으로 받은 문자열에서 불필요한 개행 제거
파일 읽기: readline()으로 읽은 문자열에서 \n 제거
s = input().strip() # 개행 문자 제거
split() 함수는 문자열을 특정 구분자로 나누어 리스트로 변환할 때 사용됩니다.
✅ 기본 사용법
s = "apple banana cherry"
words = s.split()
print(words) # ['apple', 'banana', 'cherry']
기본적으로 공백을 기준으로 문자열을 나눕니다.
✅ 특정 구분자로 나누기
s = "apple,banana,cherry"
words = s.split(",")
print(words) # ['apple', 'banana', 'cherry']
쉼표(,)와 같은 특정 구분자로 문자열을 나눌 수 있습니다.
✅ 여러 개의 공백 처리
s = " apple banana cherry "
words = s.split()
print(words) # ['apple', 'banana', 'cherry']
공백이 여러 개 있어도 split()은 자동으로 하나의 공백으로 인식하여 처리합니다.
✅ 최대 분할 횟수 지정
s = "apple-banana-cherry-dates"
print(s.split("-", 2)) # ['apple', 'banana', 'cherry-dates']
split(구분자, maxsplit)을 사용하면, 최대 maxsplit 번만 나눈 후 나머지는 그대로 둡니다.
💡 코딩 테스트 활용 예시
여러 개의 숫자 입력 처리
CSV 형식 데이터 파싱
nums = list(map(int, input().split())) # 여러 개의 숫자 입력받기
📌 strip() + split() 함께 사용하기
보통 코딩 테스트에서는 strip()과 split()을 함께 사용하면 입력 처리가 더욱 깔끔해집니다.
nums = list(map(int, input().strip().split()))
예제
📌 입력
10 20 30 40 50
📌 실행 코드
nums = list(map(int, input().strip().split()))
print(nums)
📌 출력
[10, 20, 30, 40, 50]
이렇게 하면 입력 값의 앞뒤 공백을 제거하고, 공백을 기준으로 숫자를 나눈 후 리스트로 변환할 수 있습니다.
🎯 마무리
✅ strip() : 문자열의 양 끝 공백 또는 특정 문자 제거
✅ split() : 문자열을 특정 구분자로 나누어 리스트로 변환
✅ strip() + split() : 입력값을 깔끔하게 정리하는 필수 조합