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