[PRO] 모음사전 (Python) [알고리즘 고득점 Kit]

천호영·2024년 2월 28일
0

알고리즘

목록 보기
100/100

문제

https://school.programmers.co.kr/learn/courses/30/lessons/84512

풀이

itertools의 product를 써서 중복순열을 구할 수 있다. 처음엔 permutations를 사용하였는데, 중복이 허용되므로 'AA'와 같은 수가 빠질 수 있다.

from itertools import product

GIVEN_WORDS = [ 'A', 'E', 'I', 'O', 'U']

def solution(word):
    
    made_words = []
    for word_len in range(1,6):
        made_words.extend([''.join(p) for p in product(GIVEN_WORDS,repeat=word_len)])
    made_words.sort()
    
    return made_words.index(word)+1
profile
성장!

0개의 댓글