DFS, BFS는 코딩테스트를 준비해봤다면 꼭 한 번 들어봤을 주제이고 실제로도 매우 자주 등장하는 유형이라고 한다. 그래프 자료구조의 탐색을 알고리즘으로 간단하게 말하면 원하는 데이터를 찾는 과정이다. DFS, BFS를 살펴보기 전에 두 가지 자료구조에 대해서 살펴보아야 한다. 스택 자료구조 먼저 들어온 데이터가 나중에 나가는 형식(선입후출, First in Last out)의 자료구조이다. 쌓기나무나 접시쌓기를 생각하면 된다. 접시를 하나씩 쌓는다고 생각해보자. 그러고 나서 사용할 접시를 집으려고 하면 맨 위에 있는 즉, 가장 마지막에 쌓은 접시를 사용하게 된다. 맨 처음 들어온 접시는 위에 접시가 다 사용되기 전까지는 사용할 수 없다. 스택을 파이썬 코드로 표현하면 다음과 같다. stack = []..