PS/프로그래머스
[Python] 옹알이 (2)
s_omi
2024. 10. 26. 09:32
728x90
반응형
SMALL
✏️ 문제
문제 파악
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
728x90
반응형
LIST