[프로그래머스 Lv.2] 모음사전 (Python)

지윤·2023년 6월 18일

👩🏻‍💻

이렇게 푸는게 맞을까? 했는데 맞은 문제 😅

입출력 예를 보자마자 6, 10, 1563, 1189 등 예상할 수 없는 숫자가 나왔고, 전체 경우의 수가 필요하다고 느껴졌다. 뇌피셜ㅎ
그래서 전체 경우를 product(중복순열)로 만들어 리스트에 넣어주었고, 해당 리스트를 정렬하여 word의 번호를 출력해 주었다.

코드

from itertools import product

def solution(word):
    alphabet = ['A', 'E', 'I', 'O', 'U']
    perm = []
    for i in range(1, len(alphabet)+1):
        for j in product(alphabet, repeat=i):
            perm.append(''.join(j))
            
    perm.sort()
    
    return perm.index(word) + 1
profile
떠돌이 컴공

0개의 댓글