상세 컨텐츠

본문 제목

[ 프로그래머스 / 파이썬 ] 옹알이(1)

알고리즘/프로그래머스

by 감싹이 2023. 1. 17. 12:21

본문

🎉 문제

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

 

🎉 코드

import itertools

def solution(babbling):
    seek = ["aya", "ye", "woo", "ma"]
    word = []
    
    for i in range(1, len(seek)+1):
        for j in itertools.permutations(seek, i):
            word.append(''.join(j))
    
    
    answer = 0
    
    for i in babbling:
        if i in word:
            answer += 1
        
    
        
    return answer

 

 

 


아래는 문제와 상관 없는 개인공부 내용


🎉 Permutations

순열 : 서로 다른 n개의 원소에서 r개를 중복없이 순서에 상관있게 선택하는 혹은 나열하는 것

 

1. itertools 임포트 하기

import itertools

2. 배열 확인

A = ['A' , 'B', 'C', 'D']
pm = [] # 순열을 담을 배열

3-1. 기본사용

arr = list(itertools.permutations(A, 2))

arr = [('1','2'), ('1','3'), ('2','1'), ('2','3'), ('3','1'), ('3','2')]

 

3-2. 길이가 1인 튜플부터 전부인 튜플까지

 

3-3, 튜플을 원소로 만들기


3-4. 튜플사이에 !를 넣어서 원소로 만들기

 

 

관련글 더보기