단어 변환 조건에 부합하는지 확인하는 compare 함수
단어 변환 조건: 한 문자만 달라야 함
-> 한 문자만 다르면 true, 아니면 false 반환
bfs
기존 bfs와 차이
- compare가 true이면 큐에 넣어줌
- visited -> 0이면 방문 x, 1이상이면 방문 o (지나쳐온 개수 저장)
from collections import deque
def solution(begin, target, words):
    if target not in words:
        return 0
    else:
        visited = [0] * len(words)
        bfs(begin, target, words, visited)
        print(visited)
        return visited[words.index(target)]
def bfs(begin, target, words, visited):
    queue = deque([begin])
    q_idx = 0
    while queue:
        q = queue.popleft()
        if q == target:
            return 0
        if q in words:
            q_idx = words.index(q)
        for i, w in enumerate(words):
            if compare(q, w) and not visited[i]:
                queue.append(w)
                visited[i] = visited[q_idx] + 1
    
        
def compare(a, b):
    answer = 0
    for i in range(len(a)):
        if a[i] == b[i]:
            answer += 1
    return True if answer == len(a) - 1 else False