프로그래머스/코딩테스트 Lv. 1

옹알이(2)

아몬드바 2023. 9. 2. 17:43
728x90

문제 설명
머쓱이는 태어난 지 11개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음과 네 가지 발음을 조합해서 만들 수 있는 발음밖에 하지 못하고 연속해서 같은 발음을 하는 것을 어려워합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.

제한사항
1 ≤ babbling의 길이 ≤ 100
1 ≤ babbling[i]의 길이 ≤ 30
문자열은 알파벳 소문자로만 이루어져 있습니다.


입출력 예


# 유튜브 문제 해결님 코드를 참고 하였습니다

https://www.youtube.com/@Problem_Solution/

def pronounce(word):
    last = 0
    while word:
        if word[:3] == "aya" and last != 1:
            word = word[3:]
            last = 1
        elif word[:2] == "ye" and last != 2:
            word = word[2:]
            last = 2
        elif word[:3] == "woo" and last != 3:
            word = word[3:]
            last = 3
        elif word[:2] == "ma" and last != 4:
            word = word[2:]
            last = 4
        else:
            break

    return word


def solution(babbling):
    answer = 0

    for word in babbling:
        word = pronounce(word)

        if word == "":
            answer += 1    
            
    return answer
def solution(babbling):
    answer = 0
    for i in babbling:
        for j in ['aya','ye','woo','ma']:
        	# 연속으로 나오지 않을때 공백으로 처리
            if j * 2 not in i:
                i = i.replace(j, ' ')
                
        # 공백을 지운값 문자열길이가 0일때
        if len(i.strip()) == 0:
            answer +=1
    return answer
728x90

'프로그래머스 > 코딩테스트 Lv. 1' 카테고리의 다른 글

푸드 파이트 대회  (0) 2023.09.03
햄버거 만들기  (0) 2023.09.02
콜라 문제  (0) 2023.09.02
삼총사  (0) 2023.09.02
숫자 짝꿍  (0) 2023.09.02