📜 문제 설명
머쓱이는 태어난 지 11개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음과 네 가지 발음을 조합해서 만들 수 있는 발음밖에 하지 못하고 연속해서 같은 발음을 하는 것을 어려워합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ babbling의 길이 ≤ 100
- 1 ≤ babbling[i]의 길이 ≤ 30
- 문자열은 알파벳 소문자로만 이루어져 있습니다.
🔗 문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/133499
💡 문제 풀이
할 수 있는 말이 4가지 밖에 없는 아기가 있다. (귀여워 🥰)
제시된 리스트에서 아기가 할 수 있는 말을 고르되 아기는 연속되서 말을 할 수 없다.
할 수 있는 말의 목록을 배열 안에 넣어두고 제시된 단어 중에서 할 수 있는 말이 있으면 숫자로 대체한다. 그리고 연속되어서 말을 할 수 없으므로 00, 11 등 숫자가 연속될 경우는 제외한다. 그 후에 모든 말이 숫자로 대체되었으면 제시된 단어가 할 수 있는 말의 조합으로 이루어졌다는 뜻이므로 정답 목록에 더해준다.
쉽게 해결 가능!
# 파이썬 풀이
def solution(babbling):
answer = 0
can = ["aya", "ye", "woo", "ma"]
for bab in babbling:
for i in range(len(can)):
if can[i] in bab:
bab = bab.replace(can[i], str(i))
if "00" in bab or "11" in bab or "22" in bab or "33" in bab:
continue
if bab.isnumeric():
answer += 1
return answer
반응형
'✨APS (Algorithm Problem Solving) > 프로그래머스' 카테고리의 다른 글
[프로그래머스] LV.1 카드 뭉치 / 파이썬(Python), 자바(JAVA) (0) | 2023.02.17 |
---|---|
[프로그래머스] LV.2 연속 부분 수열 합의 개수 / 파이썬(Python) (1) | 2023.02.16 |
[프로그래머스] LV.2 호텔 대실 / 파이썬(Python) (0) | 2023.02.07 |
[프로그래머스] LV.1 둘만의 암호 / 파이썬(Python) (0) | 2023.02.03 |
[프로그래머스] LV.1 크기가 작은 부분 문자열 / 파이썬(Python), 자바(JAVA) (0) | 2023.01.31 |