https://school.programmers.co.kr/learn/courses/30/lessons/133499
풀이 - 나의 생각
단어에서 패턴을 하나씩 빼는데
단어가 다 없어진다 == 할 수 있는 단어다
남아 있다 == 할 수 없는 단어다
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
'프로그래머스 > Lv.1' 카테고리의 다른 글
행렬의 덧셈 - Python, ZIP (0) | 2024.11.01 |
---|---|
카드 뭉치 - Python, List 에서 특정 값 삭제하 (0) | 2024.10.30 |
코딩테스트 연습 > 대충 만든 자판 Pyton (0) | 2024.10.25 |
정수 제곱근 판별 - JAVA, double과 long 비교 (0) | 2024.05.25 |
문자열 내 p와 y의 개수 - JAVA (0) | 2024.05.23 |