# 첫 번째 시도
def solution(babbling):
answer = 0
datas = ["aya","ye","woo","ma"]
for bab in babbling:
count = 0
num_count = 0
for data in datas:
if data in bab:
count += len(data)
num_count += 1
if len(bab)==count and answer < num_count:
answer = num_count
return answer
# 두 번째 시도
첫번째처럼 했을때 ma+aya -> maya 같은 경우를 잡아내지 못한다.
아, 그리고 문제 이해를 잘못한게, 한단어에 얼마나 많은 음절 발음하느냐가 아니라 얼마나 많은 단어를 발음하느냐를 판단해야 한다.
def solution(babbling):
answer = 0
datas = ["aya","ye","woo","ma"]
for bab in babbling:
len_count = 0
num_count = 0
for data in datas:
if data in bab:
len_count += len(data)
num_count += 1
if "maya" in bab:
count = 0
if len(bab)==len_count:
answer +=1
return answer
+) 250818
def solution(babbling):
words = ["aya", "ye", "woo", "ma"]
answer = len(babbling)
for bab in babbling:
while len(bab)!=0:
if bab[0:1] == words[1] or bab[0:1] == words[3]:
bab = bab[2:]
elif bab[0:2] == words[0] or bab[0:2] == words[2]:
bab = bab[3:]
else:
answer -= 1
break
return answer
왜 안될까?
# 두 번째 시도 -> 방법은 맞는데 index 설정을 잘못했다! 헷갈리지 말기
while len(bab)!=0:
if bab[0:2] == words[1] or bab[0:2] == words[3]:
bab = bab[2:]
elif bab[0:3] == words[0] or bab[0:3] == words[2]:
bab = bab[3:]
'✨ 공부 기록 > 알고리즘 & 코딩테스트' 카테고리의 다른 글
| [프로그래머스 lv 0] 분수의 덧셈 (코딩테스트 입문)_Fraction 사용 (0) | 2025.03.04 |
|---|---|
| [프로그래머스 lv 0] 평행 (코딩테스트 입문) 2️⃣ (0) | 2025.03.04 |
| [프로그래머스 lv 1] K번째수 (정렬) (0) | 2025.03.03 |
| [프로그래머스 lv 2] 구명보트 (탐욕법(Greedy)) (0) | 2025.03.03 |
| [프로그래머스 lv 1] 체육복 (탐욕법(Greedy)) (0) | 2025.03.02 |