

우선 완전탐색 기법으로 문제를 풀기 위해서는 다음과 같이 고려해서 수행한다.
1) 해결하고자 하는 문제의 가능한 경우의 수를 대략적으로 계산한다.
2) 가능한 모든 방법을 다 고려한다.
3) 실제 답을 구할 수 있는지 적용한다.
여기서 2)의 모든 방법에는 다음과 같은 방법 등이 있다.
① Brute Force 기법 - 반복 / 조건문을 활용해 모두 테스트하는 방법
② 순열(Permutation) - n개의 원소 중 r개의 원소를 중복 허용 없이 나열하는 방법
③ 재귀 호출
④ 비트마스크 - 2진수 표현 기법을 활용하는 방법
⑤ BFS, DFS를 활용하는 방법
In [4]: list(repeat(numbers, n))
Out[4]: [[1, 2, 3], [1, 2, 3], [1, 2, 3]]
for idx, word in enumerate(itertools.repeat({1:2},3)):
print(word)
#결과
{1: 2}
{1: 2}
{1: 2}
참고
https://rfriend.tistory.com/459

from itertools import product
def solution(word):
#길이를 1씩 늘려가며 해당 자릿수에 가능한 모든 경우를 찾는 방법
words = []
for i in range(1, 6):
for c in product(['A', 'E', 'I', 'O', 'U'], repeat=i):
words.append(''.join(list(c)))
words.sort()
return words.index(word) + 1

위에 나와있는 방법 중 어떤 방법으로 풀까 고민하다가, 이 배열 요소가 5가지 밖에 되지 않기 때문에 Brute Force 기법을 사용해 풀게 되었다
사실은 따로 for 문으로 repeat 을 구현하려다가, 제공하는 repeat 함수가 있는 것을 확인하고 활용하게 풀게 되었다