https://school.programmers.co.kr/learn/courses/30/lessons/43163
from collections import deque
def solution(begin, target, words):
if target not in words :
return 0
return BFS(begin, target, words)
def BFS(begin, target, words):
queue = deque()
queue.append([begin, 0])
while queue:
n, i = queue.popleft()
if n == target :
return i
# 단어의 1가 다르면 queue에 추가
for word in words :
count = 0
for idx in range(len(word)) :
if word[idx] != n[idx] :
count +=1
if count == 1:
queue.append([word, i+1])