[PS] 모음사전

szlee·2024년 10월 30일
0

알고리즘 PS

목록 보기
15/24

모음사전

백트래킹을 이용해서 풀자.

def solution(word):
    vowels = ['A', 'E', 'I', 'O', 'U']
    cnt = 0
    result = 0
    
    # 백트래킹으로 풀기
    
    def bt(now):
        
        nonlocal cnt, result
        
        if len(now) > 5:
            return
        
        if now: # 새로운 단어 생성 시 카운트 증가
            cnt += 1
        
        if now == word: # 목표 단어와 일치하면 카운트 저장 후 탐색 중단
            result = cnt
            return
        
        for vowel in vowels:
            if result: # 목표 단어를 찾았다면 추가 탐색 중단
                return
            bt(now+vowel)
    
    
    
    bt('')
    return result

nonlocal

nonlocal은 중첩 함수(내부 함수)에서 외부 함수의 변수를 수정할 수 있도록 해줍니다.

global

변수를 전역 변수로 만들어서, 프로그램 어디에서나 접근 가능하게 합니다.

profile
🌱

0개의 댓글