~๋ชฉ์ฐจ~
๋ฌธ์
https://school.programmers.co.kr/learn/courses/30/lessons/43163
์์ฑ ์ฝ๋
from collections import deque
def solution(begin, target, words):
if target not in words:
return 0
wordlen = len(begin)
def diff1(w1, w2): # ๋ ๋จ์ด๊ฐ ์ํ๋ฒณ ํ๋๋ง ๋ค๋ฅธ์ง ํ๋ณํ๋ ํจ์
cnt = 0
for i in range(wordlen):
if w1[i] != w2[i]:
cnt += 1
return True if cnt == 1 else False
que = deque()
que.append((begin, 0)) # ์ด๊ธฐ๊ฐ ์ฝ์
while que: # BFS
word, cnt = que.popleft()
if word == target: # ์ฐพ๋ ๋ฌธ์๋ฅผ ์ฐพ์ผ๋ฉด return
return cnt
for word2 in words: # words์ ๋ชจ๋ ๋จ์ด ์ค
if diff1(word, word2): # ํ์ ๊ฐ์ฅ ์ ๋ฌธ์์ ๊ฐ์ ๋จ์ด๊ฐ ์๋ค๋ฉด ํ์ ์ฝ์
que.append((word2, cnt + 1))
return 0
๋์์ด ๋์ จ๋ค๋ฉด ์ข์์ ๋๋ฌ์ฃผ์ธ์๐
'๐๋ฌธ์ ํ์ด > ๐งฉProgrammers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] ํ๋ก๊ทธ๋๋จธ์ค ํผ๋ณด๋์น ์ | DP (0) | 2023.06.26 |
---|---|
[Python] ํ๋ก๊ทธ๋๋จธ์ค ๋ค์ ํฐ ์ซ์ (0) | 2023.06.26 |
[Python] ํ๋ก๊ทธ๋๋จธ์ค ์ซ์์ ํํ | DP (0) | 2023.06.26 |
[Python] ํ๋ก๊ทธ๋๋จธ์ค ์ด์ง ๋ณํ ๋ฐ๋ณตํ๊ธฐ (0) | 2023.06.26 |
[Python] ํ๋ก๊ทธ๋๋จธ์ค ์คํจ์จ | ์ ๋ ฌ | 2019 KAKAO BLIND RECRUITMENT (0) | 2023.06.03 |