Python/코딩테스트

[프로그래머스/python] 코딩테스트 연습 Lv.1 (6월 세 번째 주 2)

김과분 2023. 6. 17. 20:32
728x90

옹알이(2)

문제 설명 / 제한사항 / 입출력 예

aya, ye, woo, ma 만 발음 가능 / 위 네 가지 조합으로만 말할 수 있음 + 같은 발음 연속되면 못함

=> babbling에서 조카가 발음할 수 있는 단어 개수는?

ex1) aya만 가능 -> 1, ex2) aya+ye, ye+ma+woo 가능 -> 2 (ye+ye는 연속됐기 때문에 X)

Solution

def solution(babbling):
    answer = 0 #발음할 수 있는 단어의 개수
    for i in babbling:
        a = i.replace("aya", "1") #aya -> 1
        if "11" in a: #aya가 두 개 이상 연속 == 11이 포함
            continue #발음할 수 없는 단어!
        b = a.replace("ye", "2")
        if "22" in b:
            continue
        c = b.replace("woo", "3")
        if "33" in c:
            continue
        d = c.replace("ma", "4")
        if "44" in d:
            continue
        if d.isdigit()  is True: #문자가 숫자로 표현됨 == 발음이 모두 숫자로 바뀜
            answer+=1 #발음할 수 있는 단어!
    return answer

ex2) ayaye, uuu, yeye, yemawoo, ayaayaa

ayaye -> 12 -> isdigit() is True -> 발음할 수 있는 단어

uuu -> uuu -> isdigit() is False -> 발음할 수 없는 단어

yeye -> 22 -> 22가 포함(연속됨) -> 발음할 수 없는 단어

yemawoo -> 123 -> isdigit() is True -> 발음할 수 있는 단어

ayaayaa -> 11a -> 11이 포함(연속됨) + isdigit() is False -> 발음할 수 없는 단어

=> answer = 2

Result

728x90