📌 1. DFS 기본 개념 DFS는 지난번에 포스팅한 BFS와 함께 그래프를 탐색하는 대표적 방법 중 하나로 깊이를 우선으로 하는 탐색법으로 Depth First Search를 의미한다. DFS는 완전 탐색 방법으로 가장 깊은 정점까지 갔다가 해당 경로의 끝 지점에 다다르면 마지막 갈림길로 돌아간다. 마지막 갈림길로 돌아가기 위해 스택 자료 구조를 사용하여 마지막 갈림길을 저장해둔다. 📌 2. DFS 코드로 나타내기 시작정점 cur를 결정하여 방문한다. 정점 cur에 인접한 정점 중에서 방문하지 않은 정점 a가 있다면, 정점 a를 스택에 push하고 정점 a를 방문한다. 그리고 a를 cur로 하여 다시 위 순서를 반복한다. 방문하지 않은 정점이 없으면, 탐색의 방향을 바꾸기 위해서 스택을 pop 하여 가..