프로그래머스/LV2
[프로그래머스 Lv2,python] - 모음 사전
chyam_eun
2025. 1. 28. 15:41
def solution(word):
global cnt
cnt=0
def dfs(st,n):
global cnt
if n==6: # 길이가 6일때는 바로 리턴
return
if st==word: # 단어와 같으면 cnt를 리턴해줌
return cnt
cnt+=1
for char in ['A', 'E', 'I', 'O', 'U']:
result = dfs(st + char, n + 1) # 리턴 값을 저장
if result is not None: # cnt 를 리턴했을때
return result # 원하는 값을 찾으면 즉시 반환
return None # 끝까지 못 찾으면 None 반환
cnt=dfs('',0)
return cnt
위는 나의 풀이이고 아래는 다른분의 풀이이다. n을 사용하지않고 그냥 길이로 해도 됐을것같다.
길이가 많이 길지 않아서 리스트에 추가해서 인덱스로 접근하는게 더 나을것같다.
dictionary = []
def dfs(word):
global dictionary
dictionary.append(word)
if len(word) == 5:
return
for x in ["A", "E", "I", "O", "U"]:
dfs(word + x)
def solution(word):
dfs("")
dictionary.sort()
return dictionary.index(word)