공부, 기록

프로그래머스 단어 변환 파이썬(PYTHON) 본문

코딩

프로그래머스 단어 변환 파이썬(PYTHON)

무는빼주세요 2020. 11. 14. 13:53

문제링크 : programmers.co.kr/learn/courses/30/lessons/43163

 

코딩테스트 연습 - 단어 변환

두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수

programmers.co.kr

 

 

def solution(begin,target,words):
    answer = 0
    if target not in words:
        return 0
    stack = list()
    stack.append(begin)
    visited=list()
    visited.append(begin)
    while stack:
        word = stack.pop()
        if word == target:
            return answer
        else:
            for i in range(len(words)):
                if len([j for j in range(len(words[i])) if words[i][j]!=word[j]])==1:
                    if words[i] not in visited:
                        visited.append(words[i])
                        stack.append(words[i])
        answer+=1
    return answer