PS/프로그래머스

[Python] 옹알이 (2)

s_omi 2024. 10. 26. 09:32

✏️ 문제

 

문제 파악

woo는 발음할 수 있으나 wo는 발음할 수 없으므로 할 수 있는 발음과 "정확히" 같아야 한다.

그래서 babbling의 배열 값에 할 수 있는 발음을 차례대로 제거하는 방향으로 replace를 활용하면 된다. 

for b in babbling:
    for l in languge:
        b = b.replace(l, '')

 

연속해서 같은 발음을 할 수 없다는 유의사항이 있기 때문에 연속해서 같은 발음이 있다면 바로 발음할 수 없는 것으로 처리해주어야 한다!

 

중요한 것은 만약 replace로 발음 대신 빈값을 넣으면

["yayae"]이 입력으로 들어올 시 aya를 제거하면 남은 문자가 ye가 되어 할 수 있는 발음으로 처리된다!!!

때문에 할 수 있는 발음 대신에 빈 값이 아닌 다른 값을 넣어주어야 한다.

나는 .을 대신 넣고 마지막에 . 대신 빈 값을 넣어주어 빈 값이라면 개수 +1을 해주는 방향으로 코드를 짰다.

 

 

코드

def solution(babbling):
    languge = ['aya', 'ye', 'woo', 'ma']
    answer = 0
    
    for b in babbling:
        if 'ayaaya' in b or 'yeye' in b or 'woowoo' in b or 'mama' in b:
            continue
            
        for l in languge:
            b = b.replace(l, '.')
        b = b.replace('.', '')
        
        if b == '':
            answer += 1
            
    return answer

 

 

'PS > 프로그래머스' 카테고리의 다른 글

[Python] 9번 / 지폐 접기  (0) 2024.10.27
[Python] [1차] 다트 게임  (3) 2024.10.27
[Python] 추억 점수  (2) 2024.10.26
[Python] 덧칠하기  (1) 2024.10.26
[Python] 카드 뭉치  (0) 2024.10.26