문제 바로가기
머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.
ex)
| babbling | result |
|---|---|
| ["aya", "yee", "u", "maa", "wyeoo"] | 1 |
| ["ayaye", "uuuma", "ye", "yemawoo", "ayaa"] | 3 |
입출력 예 #1
입출력 예 #2
머쓱이가 할 수 있는 발음: words = ["aya", "ye", "woo", "ma"]
주어진 babbling을 단어 하나씩 돌면서 words에 있는 단어들을 공백 처리해준 후, 남은 단어가 없는 요소가 몇 개인지 세어준다.
단어를 공백으로 처리하는게 아니라 아예 제거할 경우, bab의 중간에 word가 껴있을 때 word의 앞/뒤 철자가 합쳐져서 다음 word를 형성하는 경우가 생김.
ex) 만약 공백으로 처리할 경우,
“wyeoo”에서 ‘ye’를 제거하면 그 다음 word인 “woo”가 되어버리며, 이 단어까지 발음할 수 있는 단어의 갯수에 포함되어버린다.
그렇기 때문에 for문 안에서는 우선 공백으로 처리해준 후, 하나의 bab에 대하여 word를 모두 비교하는 작업이 끝난 뒤에 공백을 제거한 다음, bab의 길이가 0인 경우 정답 갯수를 하나 추가해준다.
def solution(babbling):
answer=0
words = ["aya", "ye", "woo", "ma"]
for bab in babbling:
for word in words:
bab = bab.replace(word, " ")
bab = bab.replace(" ", "")
if len(bab) == 0:
answer+=1
return answer