from itertools import product
def solution(word):
perm_with_repl = []
# 중복순열 사전 만들어서 직접 인덱스 반환
# 완전탐색 가능(word 길이 1~5)
for i in range(1, 6):
temp = list(product(["A", "E", "I", "O", "U"], repeat=i))
str_temp = [''.join(item) for item in temp]
perm_with_repl.extend(str_temp)
perm_with_repl.sort()
return perm_with_repl.index(word)+1
word의 길이가 1이상 5이하 밖에 되지 않으므로 직접 중복순열 사전을 만드는
것이 가능하다는 것을 알아내는게 중요하다. 즉, 완전탐색
이 가능한 문제이다.
그 다음은 중복순열을 위한 product 임포트와 적절한 구현이다.
문제 출처: https://school.programmers.co.kr/learn/courses/30/lessons/84512