Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

개발계발

프로그래머스 - 옹알이(1) (120956) 본문

알고리즘

프로그래머스 - 옹알이(1) (120956)

Ju_Nik_E 2024. 4. 23. 21:52

문제 설명

 

제한사항

 

접근방식1

- 입력받은 문자열의 각 문자에 네 가지 발음중 하나라도 포함돼있는지 확인

- 있을 해당 문자를 replace를 이용해 제거하고 계속 확인

풀이코드1(틀림)

def solution(babbling):
    words = ["aya", "ye", "woo", "ma"]
    result = []
    for babb in babbling:
        original = babb
        for word in words:
            babb = babb.replace(word, "")
        if babb == "":
            result.append(original)
            
    return len(result)

 

- "wyeoo"가 들어가면 "we"가 제거되고 "w"랑"oo"가 붙어버려서 제거된다(원래는 말할 수 없는 단어임)

 

접근방식2

- 위 코드를 기반을 replace를 이용해 ","로 바꿈

- 바꾸고 새로운 배열에 "," 기준으로 split해서 값이 있으면 저장

- 새로운 배열에 값이 없으면 말할 수 있는 단어임

 

풀이코드2(정답)

def solution(babbling):
    answer = 0
    words = ["aya", "ye", "woo", "ma"]
    
    for babb in babbling:
        original = babb
        
        for word in words:
            babb = babb.replace(word, ",")
            new_babb = [s for s in babb.split(",") if s]
    
    	if not new_babb:
            answer += 1
            
    return answer