Graph 탐색, Depth First Search
Graph 깊이 우선 탐색(Depth First Search, DFS)을 stack을 이용하여 풀 수 있다. 가장 중요한 부분은 노드 방문 여부(marked)를 확인하는 부분이다. 위와 같은 그래프가 있을 때, 탐색 순서는 다음과 같다. 노드 0을 방문, 노드 0의 이웃인 1,2,3을 스택에 푸시함 스택에 가장 위에 있는 노드 3을 방문함 그 다음 스택에 가장 위에 있는 노드인 2를 방문함, 노드 2의 이웃인 5,4를 푸시함 노드 4를 방문함 노드 5를 방문함, 노드 5의 이웃인 1을 방문함 스택에는 1이 남아 있지만, 이미 방문하였으므로 방문하지 않음 Swift 풀이 // MARK: - Graph Definition class Node { var val: Int var marked: Bool = fal..