유형 : 구현
풀이 시간 : 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
'프로그래머스 > Lv. 1' 카테고리의 다른 글
43. [1차] 다트 게임 (0) | 2024.07.16 |
---|---|
42. 기사단원의 무기 ★★ (약수의 개수) (0) | 2024.07.16 |
40. 실패율 (1) | 2024.07.16 |
39. 소수 찾기 ★ (소수 판별 알고리즘) (1) | 2024.07.16 |
38. 소수 만들기 (소수 판별 알고리즘) (0) | 2024.07.16 |