문제
해설
이 문제의 경우 babbling에서 주어진 리스트 안의 각각의 문장이 조카가 발음을 할 수 있는 단어로 구성이 되어 있는지를 확인해주면 풀 수 있는 문제이다.
따라서 babbling에서의 각각의 문장을 while문 안에 넣어주고, 조카가 발음할 수 있는 단어가 들어가있을 경우 이를 다른 한 단어로 대체를 해준 후 대체한 횟수를 세주고, 그리고 마지막에 그 문장의 글자수랑 "대체한 횟수 * 대체 단어의 단어수"의 단어수가 동일한지 파악해준 후, 동일하다면 발음할 수 있는 단어에 해당하므로 answer에 +1을 해주면 된다.
여기서 단어를 대체하고 나서 우연히 문장의 글자수랑 "대체한 횟수*대체 단어의 단어수"가 동일할 경우가 생길 수 있다. 이를 미연에 방지하고자 대체 단어로는 15글자보다 큰 단어를 넣어주어 이 가능성을 완전히 배제해준다. (내 경우 16글자의 단어로 대체해주었다.)
코드
pron = ["aya", "ye", "woo", "ma"]
def solution(babbling):
answer = 0
for word in babbling:
count = 0
while (True):
for pro in pron:
if (pro in word):
word = word.replace(pro,"1111111111111111")
count += 1
if (count != 0) and (len(word) == 16*count):
answer += 1
break
break
return answer
결과
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[파이썬] 프로그래머 알고리즘 고득점 Kit - 해시 / 완주하지 못한 선수 완벽해설 (0) | 2024.05.09 |
---|---|
[파이썬] 프로그래머 알고리즘 고득점 Kit - 해시 / 폰켓몬 완벽해설 (0) | 2024.05.09 |
[파이썬] 프로그래머스 코딩테스트 2024 KAKAO WINTER INTERNSHIP - 가장 많이 받은 선물 완벽해설 (0) | 2024.05.07 |
[파이썬] 프로그래머 코딩테스트 - 피보나치 수 완벽해설 (효율성 고려) (0) | 2024.05.05 |
[파이썬] 프로그래머스 코딩테스트 입문 - 다음에 올 숫자 완벽해설 (0) | 2024.04.20 |