Bonfire
99클럽 코테 스터디 5일차 TIL 프로래머스 단어 변환 본문
프로그래머스 단어 변환
이 문제는 bfs를 활용하여 해결하였다.
bfs의 특징인 가까운 거리를 먼저 찾는 특징을 활용할 수 있어 쉽게 풀었던 것 같다.
논리는 queue에 시작 단어를 넣고, 다른 단어들을 비교하며, 한번도 변환되어본 적 없는 "1글자만 다른 단어"를 체크하며 다시 queue에 넣어주는 방식이다.
나의 풀이
from collections import deque
def solution(begin, target, words):
visited={}
for w in words:
visited[w]=0
visited[target]=0
visited[begin]=1
def bfs(start):
que=deque()
que.append(start)
while que:
word=que.popleft()
for next_word in words:
if visited[next_word]==0 or visited[next_word]>visited[word]+1:
diff=0
for i in range(len(next_word)):
if word[i]!=next_word[i]:
diff+=1
if diff==1:
if visited[next_word]>visited[word]+1:
visited[next_word]=visited[word]+1
que.append(next_word)
elif visited[next_word]==0:
visited[next_word]=visited[word]+1
que.append(next_word)
return
bfs(begin)
if visited[target]:
return visited[target]-1
else:
return 0
TIL 회고
TIL을 쓰는데 있어서, 어제는 개인적인 용무로 인해 쓰지 못했지만, 매일 쓰는 것이 정말 힘든 것 같다.
99클럽의 챌린지는 매일 연속으로 써야 상품을 주는데, 더욱 정성을 들여 쓰면, 역으로 다른 공부를 하지 못하기 때문에, 정말 자신이 중요한 개념을 배우고, 습득했을때 쓰는 버릇을 들이면 좋을 것 같다.
내일은 도서관에 가서 밀린 영어공부를 시작하고, 나 자신의 삶을 되돌아보며, 모두에게 당당할 수 있는 자소서를 써보고 싶다.
'알고리즘 > 99 코테 스터디' 카테고리의 다른 글
99클럽 코테 스터디 7일차 TIL 프로그래머스 섬 연결하기 (0) | 2024.06.04 |
---|---|
99클럽 코테 스터디 6일차 TIL 프로그래머스 네트워크 (0) | 2024.06.03 |
99클럽 코테 스터디 4일차 TIL 프로그래머스 아이템 줍기 (1) | 2024.06.02 |
99클럽 코테 스터디 3일차 TIL - 프로그래머스 퍼즐조각 (0) | 2024.05.30 |
99클럽 코테 스터디 2일차 TIL 프로그래머스 전력망을 둘로 나누기 (0) | 2024.05.29 |