/ ALGORITHM

프로그래머스 - 단어변환

image-20230121204458936

answer=[]

def dfs(begin,target,start,graph,visited,count):
    global answer
    if begin==target:
        answer.append(count)
        return
    
    visited[start]=True
    for i in range(len(graph)):
        if not visited[i]:
            if sum(graph[i][j]!=begin[j] for j in range(len(begin)))==1:
                dfs(graph[i],target,i,graph,visited,count+1)
                
def solution(begin, target, words):
    if not target in words:
        return 0
    
    for i in range(len(words)):
        if sum(words[i][j]!=begin[j] for j in range(len(begin)))==1:
            visited=[False]*len(words)
            dfs(words[i],target,i,words,visited,1)
            
    if not answer:
        return 0
    else:
        return min(answer)