모음사전

최민수·2023년 5월 16일
0

알고리즘

목록 보기
57/94
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

profile
CS, 개발 공부기록 🌱

0개의 댓글