Computer Knowledge/코테 대비 오답노트
[python] 세개의 구분자 - re 정규식
l._.been
2023. 5. 20. 16:21
728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/181862
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
나의 풀이
def solution(myStr):
result = []
re =[]
st = ''
for i in myStr:
if i in ['a','b','c']:
result.append(st)
st = ''
else:
st += i
result.append(st)
for i in result:
if i != '':
re.append(i)
return re or ["EMPTY"]
더러운 나의 코드..
왜 이렇게 짯을까..
a,b,c를 차라리 a로 다 바꾸고 나서 split으로 a를 없애도 됐을텐데
생각없이 짠 코드라 숙연해진다
새로 고친 풀이
import re
def solution(myStr):
arr = [i for i in re.split('a|b|c', myStr) if i]
return arr or ["EMPTY"]
더 조사해보니 re 메서드를 사용해서 간단하게 구분자를 분리해낼 수 있었다. ㅎㅎ
참고로 다시 re에 대해서 공부하면 좋을 것 같다
https://docs.python.org/ko/3/library/re.html