알고리즘

[프로그래머스, 파이썬] 옹알이(1)

hminor 2024. 2. 16. 11:48
반응형

풀이

  • 슬라이싱을 활용해서 단어 안에 word의 단어가 포함하는지 확인하도록 함
  • 단어가 없다면 break를 통해 탈출하여 간단하게 문제해결

 

def solution(babbling):
    answer = 0
   
    for i in range(len(babbling)):
        b_ln = len(babbling[i])
        if b_ln < 2: continue
        word = {"aya", "ye", "woo", "ma"}
        s = 0
        state = True
        while b_ln > s:
            if b_ln >= s+3 and babbling[i][s:s+3] in word:
                print(babbling[i][s:s+3])
                word.remove(babbling[i][s:s+3])
                s += 3
            elif babbling[i][s:s+2] in word:
                print(babbling[i][s:s+2])
                word.remove(babbling[i][s:s+2])
                s += 2
            else:
                state = False
                break
        if state:
            answer += 1
    return answer


print(solution(["aya", "yee", "u", "maa", "wyeoo"]))