permutations
사용from itertools import permutations
def solution(babbling):
answer = 0
can_speak=["ye", "ma","aya", "woo"]
can=[]
for i in range(1, len(can_speak)+1):
permu=["".join(x) for x in list(permutations(can_speak,i))]
can.extend(permu)
can=set(can)
for bab in babbling:
if bab in can:
answer+=1
return answer
문제: 예를 들어 yemaaya
같은 건 가능하다고 판단할 수 있지만, 두 번, 세 번 이상 반복되는 경우, 예를 들어 yemayeaya
같은 건 permutations으로 구할 수가 없다.
따라서 두 번째 방법으로, 한 문자, 한 문자씩 확인해보았다.
def solution(babbling):
answer = 0
can_speak=["ye", "ma","aya", "woo"]
for bab in babbling:
just_said=""
s=0
check=True
while s<len(bab):
two,three=bab[s:s+2], bab[s:s+3]
if two in can_speak and two!=just_said:
just_said=two
s+=2
elif three in can_speak and three!=just_said:
just_said=three
s+=3
else:
check=False
break
if check:
answer+=1
return answer
https://school.programmers.co.kr/learn/courses/30/lessons/133499#