[문제출처]
https://school.programmers.co.kr/learn/courses/30/lessons/120956
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[문제 풀이]
✅소스 코드
문자열의 리스트가 주어졌을 때, 리스트의 원소 중에서 조카가 발음할 수 있는 문자열의 개수를 세는 문제이다.
조카는 "aya", "ye", "woo", "ma" 이렇게 네 가지 발음만 할 수 있으며, 각 발음을 최대 한 번씩 사용해 조합한 발음만 할 수 있다.
예를 들어 "ayaye"는 "aya"와 "ye"가 한 번씩 조합된 것이므로 발음할 수 있지만,
"wooe"는 발음할 수 없는 발음인 "e"가 포함되어 발음하지 못한다.
조카가 발음할 수 있는 것들을 a라는 리스트에 저장하고,
주어진 문자열의 원소들을 하나씩 살펴보며 확인한다.
첫 번째 글자부터 살펴보면서 해당 글자가 a에 포함되는지(발음이 가능한지) 확인하고, 아니라면 다음 글자를 붙여서 다시 확인한다.
만일 발음할 수 있는 글자라면 tmp를 빈 문자열로 초기화하고 다음 글자부터 다시 확인한다.
이렇게 해서 모든 글자들을 살펴봤을 때, 모두 발음이 가능하다면 tmp는 빈 문자열로 남아있을 것이다.
빈 문자열일 경우에 answer 값을 증가시키고, 그렇지 않은 경우는 발음을 하지 못하므로 다음 단어로 넘어간다.
def solution(babbling):
answer = 0
a = ['aya','ye','woo','ma']
for b in babbling:
tmp = ''
for i in range(len(b)):
tmp += b[i]
if tmp in a:
tmp = ''
if tmp == '':
answer += 1
return answer
'알고리즘 > python' 카테고리의 다른 글
[python/파이썬] 프로그래머스 Lv.1 가장 가까운 글자 (0) | 2023.03.13 |
---|---|
[python/파이썬] 백준 1629 곱셈 (0) | 2023.03.09 |
[python/파이썬] 프로그래머스 Lv.1 삼총사 (0) | 2023.03.08 |
[python/파이썬] 프로그래머스 Lv.1 콜라 문제 (0) | 2023.03.07 |
[python/파이썬] 프로그래머스 Lv.1 푸드 파이트 대회 (0) | 2023.03.06 |