코딩_Python(Level.0)

[Level.0] 세 개의 구분자

Hong's_Computer 2026. 3. 17. 15:28
반응형

문제 설명: 임의의 문자열이 주어졌을 때 문자 "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