Algorithm/프로그래머스

[프로그래머스] - 모음사전

Dortmoot 2022. 7. 13. 13:33

[프로그래머스]  - 모음사전

 

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 이해


처음에 보았을 때는 알파벳 모음을 가지고  Backtracking하여 순서를 찾는 문제로 접근하였습니다.

하지만 일관성이 없어 재귀로 풀 수 없다고 생각하여 고민 끝에 매우 간단한 문제라는 것을 알았습니다.

모든 경우의 수를 정렬하면 result 결과와 동일하게 나오리라 생각이 들었습니다.

 

알고리즘


단어의 모든 경우의 수를 추출하기 위해서 Product Itertools를 사용하였습니다.

총 5개의 단어임으로 1~5까지 모든 경우의 수를 나열한 뒤 정렬 시키면 됩니다.

후에 해당되는 Index값을 return 시켜주면 됩니다.

 

코드


#프로그래머스-모음사전
def solution(word):
    from itertools import product

    alphas = ['A','E','I','O','U']
    word_data = []
    for i in range(1,6):
        for data in list( product(alphas, repeat=i) ) :
            word_data.append( ''.join(data) )

    word_data.sort()
    return word_data.index(word)+1