❓IDEA
문제 설명 그대로 "aya", "ye", "woo", "ma" 네 단어를 각자 최대 한 번씩 사용해서 가능한 단어 리스트를 만든 후 babblings가 이중에 몇개를 포함하는지 계산하면 된다.
단어수가 4개이고 최대 한 번만 사용가능하기에 순열을 사용하여 리스트를 만들면 된다
from itertools import permutations
# 선택된 순열을 이어 붙여 단어로 만듦
def make_word(candidates, arr):
for i in range(len(arr)):
candidates.append("".join(arr[i]))
def solution(babbling):
babblings = ["aya", "ye", "woo", "ma"]
candidates = []
# 순열 리스트 생성 후 이어붙여 발음할 수 있는 단어 리스트를 생성
for i in range(1, 5):
make_word(candidates, list(permutations(babblings, i)))
# 주어진 babbling중 사용가능한 단어의 개수를 카운트
answer = len([word for word in babbling if word in candidates])
return answer
반응형
'🔧알고리즘' 카테고리의 다른 글
[BOJ,백준][파이썬] 16918, 봄버맨 (0) | 2023.04.04 |
---|---|
[swea] [Java] 5215. 햄버거 다이어트 (0) | 2022.08.11 |
[BOJ][파이썬, 자바]11660 구간 합 구하기5 (0) | 2022.08.03 |
[프로그래머스]체육복, 파이썬(python) (0) | 2022.06.09 |
[swea]1204. 최빈수 구하기, 파이썬(python) (0) | 2022.05.26 |