https://programmers.co.kr/learn/courses/30/lessons/43163?language=python3
코딩테스트 연습 - 단어 변환
두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수
programmers.co.kr
def solution(begin, target, words):
visited = [False] * len(words)
from collections import deque
queue = deque([begin])
for same_apb in range(0,len(begin),-1):
node = queue.popleft()
for n in len(words):
if visited[n] == False:
if check(node, words[n]) == same_apb:
visited[n] = True
queue.append(words[n])
if queue.count(target)!=0:
return len(begin)-check_point
return 0
def check(word1, word2):
cnt = 0
for idx, w1 in enumerate(word1):
if w1 == word2[idx]:
cnt += 1
return cnt
def solution(begin, target, words):
stage = 0
visited = [False] * len(words)
from collections import deque
queue = deque([(begin,stage)])
while len(queue)>0:
node = queue.popleft()
for n in range(len(words)):
if visited[n] == False:
if check(node[0], words[n]) == 1:
visited[n] = True
queue.append((words[n], node[1]+1))
for tar, stg in queue:
if tar == target:
return stg
return 0
def check(word1, word2):
cnt = 0
for idx, w1 in enumerate(word1):
if w1 == word2[idx]:
cnt += 1
return len(word1)-cnt
'B > Coding Test' 카테고리의 다른 글
코딩테스트 연습2020 KAKAO BLIND RECRUITMENT문자열 압축 (0) | 2021.10.08 |
---|---|
[코딩테스트 연습] - 124 나라의 숫자 (0) | 2021.10.07 |
[코딩테스트] 완전탐색 - 모의고사 / 카펫 (0) | 2021.10.01 |
[코딩테스트] 완전탐색 - 소수 찾기 (0) | 2021.09.30 |
[프로그래머스] 정렬 - 가장 큰 수 (0) | 2021.08.08 |