프로그래머스/Lv.1
프로그래머스 > 옹알이(2) - Python, re.sub()
아찌방
2024. 10. 27. 15:58
https://school.programmers.co.kr/learn/courses/30/lessons/133499
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이 - 나의 생각
단어에서 패턴을 하나씩 빼는데
단어가 다 없어진다 == 할 수 있는 단어다
남아 있다 == 할 수 없는 단어다
pattern을 한 바퀴 돌았는데 단어 길이가 변한게 없다 == 할 수 없는 단어
그리고 패턴을 맨 앞에서부터 있을 경우에만 제거했는데
그 이유는
"yayae"같은 경우를 막기 위해서이다.
"yayae"의 경우 원래 할 수 없는 말이다.
하지만 내가 구상한대로라면
"aya"를 제거 ->
"ye"
"ye" 제거 ->
할 수 있는 말이 된다
그렇기에 단어의 시작부터 패턴이 제거되는 경우만 체크 되게 했다.
코드
import re
def solution(babbling):
answer = 0
pattern = ['aya','ye','woo','ma']
for word in babbling:
length = len(word)
pre = ''
while len(word) > 0:
flag = len(word)
for pa in pattern:
if word.find(pa) == 0 and pre != pa:
word = re.sub(pa, '', word, 1)
pre = pa
if flag == len(word): break
if len(word) == 0:
answer+=1
return answer
728x90