Notice
Recent Posts
Recent Comments
Link
나의 개발일지
[프로그래머스] Lv.3 단어 변환 [Python, 파이썬] 본문
- 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/43163
- DFS / BFS
- BFS 방식을 선택
from collections import deque
def solution(begin, target, words):
answer = 0
q = deque()
q.append([begin, 0]) # 시작 단어와 깊이
V = [ 0 for i in range(len(words))] # 방문 배열
while q:
word, cnt = q.popleft()
if word == target: # 타겟과 같은 단어면 멈춤
answer = cnt
break
for i in range(len(words)):
temp_cnt = 0
if V[i] == 0: # 방문 안한 단어면
for j in range(len(word)): # 현재 단어의 길이만큼 반복
if word[j] != words[i][j]: # 글자가 다르면
temp_cnt += 1 # +1
if temp_cnt == 1: # 반복 후 다른 글자가 하나면
q.append([words[i], cnt+1]) # 큐에 넣고 깊이 + 1
V[i] = 1 # 방문 체크
return answer
'프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.3 경주로 건설 [Python, 파이썬] KAKAO (0) | 2023.06.09 |
---|---|
[프로그래머스] Lv.3 보석 쇼핑 [Python, 파이썬] (0) | 2023.06.09 |
[프로그래머스] Lv.2 [1차] 캐시 [Python, 파이썬] (0) | 2023.05.30 |
[프로그래머스] Lv.2 괄호 회전하기 [Python, 파이썬] (0) | 2023.05.17 |
[프로그래머스] Lv.2 구명보트 [Python, 파이썬] (0) | 2023.05.16 |
Comments