프로그래머스/Lv. 1
41. 옹알이 (2)
Seohyeong Lee
2024. 7. 16. 15:55
유형 : 구현
풀이 시간 : 10분
def solution(babbling):
answer = 0
yes = ["aya", "ye", "woo", "ma"]
for i in babbling:
bablist = list(i)
curvocab = ''
recent = ''
tf = []
for j in range(len(bablist)):
curvocab += bablist[j]
if ''.join(curvocab) in yes and recent != ''.join(curvocab):
recent = ''.join(curvocab)
curvocab = ''
tf.append(True)
if curvocab != '':
tf.append(False)
if tf and False not in tf:
answer += 1
return answer
babbling을 순회한다.
한 단어당 가능 여부를 판별
: 한 글자씩 append하며 해당 단어가 옹알이 가능 단어인지 check ->
가능이라면 => 지금까지 append된 단어 삭제, tf 배열에 True 추가, 연속 두 단어 말하기가 불가능하므로 recent에 현재 간어 저장
: 알파벳을 끝까지 순회한 후, curvocab에 남아 있는 단어가 있다면 그 단어는 옹알이 불가능 단어이므로 False를 추가
=> tf 배열을 체크하여 빈 배열이 아니고 False가 없다면, 즉 True로만 이루어져 있고 전부 true라면
옹알이 가능 단어이므로 answer += 1