본문 바로가기
Algorithm/Programmers

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

by chobbo 2024. 10. 7.

문제

 

풀이

1. 모든 경우의 수 구하기

from itertools import product
def solution(word):
    answer = 0
    alphabet = ['A', 'E', 'I', 'O', 'U']
    array = []
    
    for i in range(1,6):
        for j in product(alphabet,repeat = i):
            array.append(''.join(j))
    
    array.sort()

    return array.index(word)+1

 

product를 사용하여 1~5 길이의 모든 단어의 경우의 수를 구해주었다.

이후 배열에서 word의 인덱스를 구해주고 1을 더해주면 답이 나온다.

 

2. dfs

def dfs(word, array):
    alphabet = ['A', 'E', 'I', 'O', 'U']
    if word:
        array.append(word)
    
    if len(word)<5:
        for i in alphabet:
            dfs(word+i,array)
    
def solution(word):
    answer = 0
    array = []
    
    dfs("",array)
    array.sort()

    return array.index(word)+1

 

dfs를 사용하여  모든 경우의 수를 구해주었다.

 

 

 

프로그래머스

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

programmers.co.kr