반응형
문제 설명: 임의의 문자열이 주어졌을 때 문자 "a", "b", "c"를 구분자로 사용해 문자열을 나누고자 합니다. 예를 들어 주어진 문자열이 "baconlettucetomato"라면 나눠진 문자열 목록은 ["onlettu", "etom", "to"] 가 됩니다. 문자열 myStr이 주어졌을 때 위 예시와 같이 "a", "b", "c"를 사용해 나눠진 문자열을 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요. 단, 두 구분자 사이에 다른 문자가 없을 경우에는 아무것도 저장하지 않으며, return할 배열이 빈 배열이라면 ["EMPTY"]를 return 합니다.
제한사항
- 1 ≤ myStr의 길이 ≤ 1,000,000
- myStr은 알파벳 소문자로 이루어진 문자열 입니다.
문제 해결
import re
def solution(myStr):
result = list(filter(None, re.split(r'[abc]+', myStr)))
return result if result else ["EMPTY"]
주석: 정규표현식 [abc]+를 사용해 'a', 'b', 'c'가 하나 이상 연속된 구간을 기준으로 문자열을 분리하고, filter(None, ...)를 통해 분리된 결과 중 빈 문자열을 제거하여 유효한 요소만 추출한다.
반응형
'코딩_Python(Level.0)' 카테고리의 다른 글
| [Level.0] 2의 영역 (0) | 2026.03.18 |
|---|---|
| [Level.0] 숨어있는 숫자의 덧셈(2) (0) | 2026.03.17 |
| [Level.0] 문자열 묶기 (0) | 2026.03.17 |
| [Level.0] k의 개수 (0) | 2026.03.17 |
| [Level.0] A로 B 만들기 (0) | 2026.03.17 |