728x90
from collections import deque
def solution(begin, target, words):
answer = 0
q = deque()
q.append((begin,0))
# 단어 방문
visited = set()
while q :
w,idx = q.popleft()
# 현재 단어랑 target 이랑 같으면 return idx
if w == target :
return idx
for word in words :
# 방문하지 않고 한글자만 다르면 q 에 삽입
if word not in visited and sum([w[i] != word[i] for i in range(len(word))]) == 1 :
q.append((word,idx+1))
visited.add(word)
return answer
풀이 및 회고
1. begin 단어를 큐에 넣고 count 값을 넣어 준다.
2. q가 존재할때 까지 반복한다.
3. 현재 단어랑 target 이 같으면 return 한다.
4. words 반복을 통해 조건에 맞으면 q 에 삽입하고 방문처리를 한다.
728x90
'프로그래머스' 카테고리의 다른 글
프로그래머스 LV 2 전력망을 둘로 나누기 (0) | 2024.07.10 |
---|---|
프로그래머스 LV 1 최소직사각형 (0) | 2024.07.10 |
프로그래머스 LV 3 네트워크 (0) | 2024.06.28 |
프로그래머스 LV 1 푸드 파이트 대회 (0) | 2024.06.27 |
프로그래머스 LV1 숫자 짝궁 (0) | 2024.06.27 |