https://school.programmers.co.kr/learn/courses/30/lessons/84512
product 함수: 중복을 포함한 순열 출력 (중복 o, 순서 o)
- ex)
product(iterator, repeat = 1)
: iterator에서 만들 수 있는 길이가 1인 문자열 (중복 포함)from itertools import product iterator = ['A','B','C','D','E'] print(list(product(iterator, repeat = 1)))
결과 : [('A',), ('B',), ('C',), ('D',), ('E',)]
- ex)
product(iterator, repeat = 2)
: iterator에서 만들 수 있는 길이가 2인 문자열 (중복 포함)print(list(product(iterator, repeat = 2)))
결과 : [('A', 'A'), ('A', 'B'), ('A', 'C'), ('A', 'D'), ('A', 'E'), ('B', 'A'), ('B', 'B'), ('B', 'C'), ('B', 'D'), ('B', 'E'), ('C', 'A'), ('C', 'B'), ('C', 'C'), ('C', 'D'), ('C', 'E'), ('D', 'A'), ('D', 'B'), ('D', 'C'), ('D', 'D'), ('D', 'E'), ('E', 'A'), ('E', 'B'), ('E', 'C'), ('E', 'D'), ('E', 'E')]
--> alpha_list에서 중복 포함 순열 1개 뽑기 ... 5개 뽑기
for i in range(1, 6): # alpha_list에서 중복 포함 순열 1개뽑기 ... 5개뽑기
pr_results = pr(alpha_list, repeat = i)
for r in pr_results: # r : ('A', 'A')
dict_list.append(''.join(r)) # dict_list = ['AA']
from itertools import product as pr
def solution(word):
alpha_list = ['A', 'E', 'I', 'O', 'U']
dict_list = []
for i in range(1, 6): # alpha_list에서 중복 포함 순열 1개뽑기 ... 5개뽑기
pr_results = pr(alpha_list, repeat = i)
for r in pr_results: # r : ('A', 'A')
dict_list.append(''.join(r)) # dict_list = ['AA']
dict_list.sort()
return dict_list.index(word) + 1