본문 바로가기
300x250

깊이우선탐색2

[프로그래머스3단계] 단어 변환 with 자바스크립트(깊이 우선탐색 dfs) 문제설명 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. 2. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 "hit", target가 "cog", words가 ["hot","dot","dog","lot","log","cog"]라면 "hit" -> "hot" -> "dot" -> "dog" -> "cog"와 같이 4단계를 거쳐 변환할 수 있습니다. 두 개의 단어 begin, target과 단어의 집합 words가 매개변수로 주어질 때, 최소 몇 단계의 과정을 거쳐 begin을 target으로 .. 2021. 7. 5.
[알고리즘] DFS - 깊이 우선 탐색 개념 정리 깊이 우선 탐색(Depth First Search)은 탐색을 함에 있어서 보다 깊은 것을 우선적으로 하여 탐색하는 알고리즘이다. 깊이 우선 탐색(Depth First Search)은 맹목적으로 각 노드를 탐색할 때 주로 사용된다. 너비 우선 탐색(Breadth First Search)에선 큐가 사용되었다면, 깊이 우선 탐색(DFS)에서는 재귀와 스택(stack)이 사용된다. DFS 로직을 구현하는 과정에 재귀 함수를 활용하기 때문에, 더 이상 child node가 존재하지 않을 때까지 콜스택의 상단에 계속 쌓이게 되고, 끝에 다다랐을 경우부터 하나씩 pop up되면서 값이 담기기 때문이다. 컴퓨터는 구조적으로 항상 스택의 원리를 사용하기 때문에 스택을 사용하지 않아도 구현이 가능하다는 특징이 있다. DF.. 2021. 6. 24.
반응형