인천의 자유인

[Python] 옹알이(1) - 프로그래머스 본문

Python/Python코딩테스트

[Python] 옹알이(1) - 프로그래머스

Youngook 2024. 5. 9. 09:20
728x90
반응형

 

나의 문제 풀이

def solution(babbling):
    lst = []
    words = ['aya', 'ye', 'woo', 'ma']
    for i in range(len(babbling)):
        for j in words:
            if j in babbling[i]:
                babbling[i] = babbling[i].replace(j,' ')
        lst.append(babbling[i])
    count =0
    for i in lst:
        if i.isspace() == True: #공백만 있는지 확인
            count += 1
    return count

 

먼저 빈 리스트 lst를 만듭니다.

그리고 aya, ye, woo, ma 가 있는 리스트 words를 생성합니다.

 

그 다음에는 babbling 요소안에 words의 요소들이 들어가 있는지 확인합니다. 그리고 babbling[i] = babbling[i].replace('j',' ')를 통해 babbling 요소안에 있는 단어 중 words의 요소가 들어 있는 부분은 ' ' 으로 바꿉니다. '' 으로 replace를 하지 않은 이유는 간단합니다. 만약 이렇게 하면 예를 들어 'wyeoo' 같은 단어도 'ye'라는 단어가 들어가 있어서 'woo'으로 변해서 'yewoo'와 다를바가 없게 만들기 때문입니다.

 

그래서 이럴 경우를 없애기 위해서 이 'ye'단어를 공백으로 만들어  'w oo'으로 해서 잘못인식하지 않도록 합니다. 이렇게 하면 발음 가능한 단어는 공백만 있는 상태로 변하게 됩니다. 그래서 마지막으로 공백만 있는 요소들의 개수를 구해서 답을 구할 수 있습니다. 

728x90
반응형