[解答]プログラマー-Lv 3単語変換
5588 ワード
プログラマ-Lv 3単語変換
1.質問
https://programmers.co.kr/learn/courses/30/lessons/43163
2.考慮事項
一度に1つのアルファベット
begintargetwordsreturn"hit""cog"["hot", "dot", "dog", "lot", "log", "cog"]4"hit""cog"["hot", "dot", "dog", "lot", "log"]0
3.解答
4.草コード
from collections import deque
def bfs(begin, target, words):
size = len(begin)
queue = deque([(begin, 0)])
while queue:
word, step = queue.popleft()
if word == target:
return step
for compare_word, compare_step in words:
diff = 0
for i in range(size):
if diff > 1:
break
if word[i] != compare_word[i]:
diff += 1
if diff == 1:
queue.append((compare_word, step + 1))
return 0
def solution(begin, target, words):
words = list(zip(words, [0] * len(words)))
return bfs(begin, target, words)
5.学んだこと
Reference
この問題について([解答]プログラマー-Lv 3単語変換), 我々は、より多くの情報をここで見つけました https://velog.io/@bky373/알고리즘-프로그래머스-Lv3-단어-변환テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol