문제
풀이
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
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] 파이썬 - k진수에서 소수 개수 구하기 (0) | 2024.10.11 |
---|---|
[프로그래머스] 파이썬 - 스킬트리 (2) | 2024.10.09 |
[프로그래머스] 파이썬 - 점찍기 (2) | 2024.10.03 |
[프로그래머스] 파이썬 - 이모티콘 할인 행사 (2) | 2024.10.01 |
[프로그래머스] 72411 파이썬 - 메뉴 리뉴얼 (0) | 2024.09.24 |