[DFS, BFS] 단어 변환 (프로그래머스, Level 3)

Soorim Yoon·2022년 9월 22일
0

문제

풀이

코드

시간 초과 오류

def solution(begin, target, words):    
    if target not in words:     # target 단어가 words 배열에 없으면 0을 리턴
        return 0
    
    answer = 0
    while(1):
        arr = [0 for _ in range(len(words))]    # words 배열과 같은 길이의 배열을 생성해서 현재 begin과 배열 안 각 단어들의 글자 수 차이를 기록함
        for s in range(len(words)):
            val = 0
            for i in range(len(words[s])):
                if begin[i] != words[s][i]:
                    val += 1
            arr[s] = val

        for i in range(len(arr)):   # arr 배열에 기록한 숫자를 통해 한 자리만 다른 단어를 begin 값으로 교체
            if arr[i] == 1:
                begin = words[i]
        answer += 1     # 교체할 때마다 교체 횟수를 1씩 증가시킴
        
        if target == begin:
            return answer

위 코드의 실행 결과, 한 개의 테스트 케이스에서 시간 초과 오류가 발생한다.

profile
👩🏻‍💻 AI를 좋아하는 IT학부생 > 성장하는 2년차 개발자

0개의 댓글