프로그래머스(Python) 풀이/Level.2

프로그래머스(Python) 84512번 모음 사전 풀이

개발윗미 2022. 5. 11. 14:04

Python으로 구현한 84512번 모음 사전 문제 풀이입니다.

 

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

 

코딩테스트 연습 - 모음사전

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

programmers.co.kr


from itertools import product

def solution(word) :
    target = ['A', 'E', 'I', 'O', 'U']
    arr = []
    for i in range(1, 6) :
        arr += list(map("".join, product(target, repeat=i)))

    arr.sort()

    for i in range(len(arr)) :
        if arr[i] == word :
            return i + 1

 

1. 알파벳 'A', 'E', 'I', 'O', 'U' 를 담은 target 리스트를 정의하고, 사전을 만들기 위해 arr 리스트를 정의한다.

 

2. 1부터 6까지를 반복문의 범위로 설정하여 itertools.product() 모듈을 통해 중복 순열을 수행하여 arr 리스트에 추가한다.

 

3. 이후 arr리스트를 오름차순으로 정렬하고 값을 하나씩 확인하여 해당 문자열이 word와 같을 경우 해당 인덱스 번호를 반환한다.