[Programmers] Lv2. 모음 사전

Smiling Sammy·2022년 3월 4일
0

coding-test

목록 보기
29/38

문제 설명

사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니다.

단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어인지 return 하도록 solution 함수를 완성해주세요.

제한 사항

word의 길이는 1 이상 5 이하입니다.
word는 알파벳 대문자 'A', 'E', 'I', 'O', 'U'로만 이루어져 있습니다.

풀이

def solution(word):
    moeum_dict = {k: i for i, k in enumerate(['A', 'E', 'I', 'O', 'U'])}

    counts = [0]

    for v in range(5):
        val = 5 ** v + counts[-1]
        counts.append(val)    

    counts.sort(reverse=True)
    counts.pop()

    answer = 0
    for i, w in enumerate(list(word)):
        answer += moeum_dict[w] * counts[i] + 1 
        
    return answer
profile
Data Scientist, Data Analyst

0개의 댓글