happy coding

[level 0] 옹알이(1) 본문

coding study/programmars

[level 0] 옹알이(1)

yeoonii 2024. 4. 13. 16:50

문제 설명


머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.


제한사항


1 ≤ babbling의 길이 ≤ 100
1 ≤ babbling[i]의 길이 ≤ 15
babbling의 각 문자열에서 "aya", "ye", "woo", "ma"는 각각 최대 한 번씩만 등장합니다.
즉, 각 문자열의 가능한 모든 부분 문자열 중에서 "aya", "ye", "woo", "ma"가 한 번씩만 등장합니다.
문자열은 알파벳 소문자로만 이루어져 있습니다.


이게 lv 0..? 난 감자다

def solution(babbling):
    words = babbling
    for word in words:
        if ("ye" or "ma" or "aya" or "woo") not in word:
            continue
        else:
            answer = count_characters(word)
    
    return answer
                                
def count_characters(word):
    count = 0
    characters = ['ye', 'ma', 'aya', 'woo']
    for char in characters:
        if char in word:
            count += word.count(char)
    return count

 

바보짓함

def solution(babbling):
    # 찾을 문자열
    find_list = ["aya","ye","woo","ma"]
    answer = 0
    for i in babbling:
        result = 0
        for j in range(len(find_list)):
            # 검사할 문자열에 찾을 문자열 검색
            if i.find(find_list[j]) != -1:
                result += len(find_list[j])
        if len(i) == result:
            answer += 1
        
    return answer

 

다른 사람 풀이 더 있어서 체크

def solution(babbling):
    c = 0
    for b in babbling:
        for w in [ "aya", "ye", "woo", "ma" ]:
            if w * 2 not in b:
                b = b.replace(w, ' ')
        if len(b.strip()) == 0:
            c += 1
    return c

 

def solution(babbling):
    arr = [ "aya", "ye", "woo", "ma"]
    answer = 0
    for i in babbling:
        for j in arr:
            if j + j in i:
                break
            else:
                i = i.replace(j,'')
        if len(i) == 0:
            answer += 1
    return answer

https://velog.io/@poooq/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4python-%EC%98%B9%EC%95%8C%EC%9D%B41

 

[프로그래머스(python)] 옹알이(1)

난이도 : Lv 0 (정답률 32퍼센트면 0보다는 높을듯..?)유형 : 구현, 문자열find() : 찾을문자의 시작점을 알려줌, 찾을 문자가 없다면 -1 출력말할 수 있는 발음이 4개, 중복 안된다고 해서 4를 넣어줬음

velog.io

 

'coding study > programmars' 카테고리의 다른 글

[level 0] 전국 대회 선발 고사  (0) 2024.04.27
[level 0] 머쓱이보다 키 큰 사람  (0) 2024.04.14
[level 1] 세균 증식  (0) 2024.03.30
[java] Lv.0 배열 자르기  (0) 2023.08.15
[java] Lv.0 피자 나눠 먹기(1)  (0) 2023.08.14
Comments