백준 (3) 썸네일형 리스트형 코딩테스트를 준비하는 효율적인 방법 IT관련 대기업, 금융권 및 유니콘 기업에 취업하기 위한 코딩테스트 준비는 선택이 아닌 필수가 되었다. 대부분의 기업의 채용 프로세스는 서류 - 코딩테스트 - 면접 순으로 이루어지기 때문에 코딩테스트에 통과하지 못한다면 면접을 볼 수 있는 기회조차 없는 것이 일반적이다. 이 글에서 코딩테스트 준비를 시작하는 학생들에게 가늘고 길게 공부할 수 있는 방법을 제시할 것이다. 그리고 이 방법은 내가 작년부터 코딩테스트를 위해 경험한 내용을 기반으로 한다. 나름 긴 시간동안 꾸준히 문제해결과 알고리즘 공부를 해왔고, 채용 단계에서 PS유형의 코딩테스트에서는 한 곳 빼고 모두 합격했었다. 글을 읽는 사람들에게 나름의 신뢰도를 제시해야 하기에 부끄럽지만 나의 백준 프로필을 근거로 올린다. https://www.acm.. DFS(Depth-First Search) DFS BFS와 같이 탐색에 이용되는 대표적인 알고리즘이다. BFS(Breadth-First Search) 설명 탐색을 위해 사용되는 알고리즘이다. 이름에서 알 수 있듯이, 너비를 우선으로 탐색하기 때문에 단계적인 탐색을 위해 사용된다. 여기서 탐색이란, 대표적으로 그래프에서 정점 방문을 예 seongmok.com 너비를 우선으로 단계적으로 탐색했던 BFS와 달리 DFS는 깊이를 우선으로 탐색하기 때문에 방문하지 않은 이웃 단계를 최대한 깊게 탐색할 수 있는 만큼 하는 것을 목적으로 한다. 예제를 보며 이해해보자. 다음과 같은 그래프가 있다. 정점1에서 출발하여 모든 정점을 탐색하는데, 이때 위 목적을 바탕으로 움직일 것이다. 불필요한 중복 방문을 막기 위해 현재 정점을 방문체크 한 뒤, 이웃한 정점 중.. BFS(Breadth-First Search) 설명 탐색을 위해 사용되는 알고리즘이다. 이름에서 알 수 있듯이, 너비를 우선으로 탐색하기 때문에 단계적인 탐색을 위해 사용된다. 여기서 탐색이란, 대표적으로 그래프에서 정점 방문을 예로 들 수 있다. 또한, 어떤 작업의 처리에 대한 최소 단계 등을 요구하는 문제에서도 사용될 수 있다. BFS를 구현하기 위해선 Queue가 필요하다. Queue는 선입선출으로 동작하기 때문에 가장 먼저 방문했던 단계의 이웃을 우선으로 탐색할 수 있다. 예제 보며 이해해보자. 다음과 같은 그래프가 있다. 정점1에서 시작해 그래프에 존재하는 모든 정점을 방문할 것이고, 한 정점에서 또 다른 정점은 간선을 통해 이동할 수 있다. 이때, 정점1에서 출발하여 각 정점 단계적으로 모두 방문하고 싶다. 단계적인 탐색이 필요하므로, B.. 이전 1 다음