[Algorithm] DFS, 백트래킹 (Back Tracking)
·
Algorithm
🔍 DFS 백트래킹 패턴 완벽 정리주제: DFS(깊이 우선 탐색)에서 자주 사용되는 visited 배열 처리 방식과 백트래킹 전략주요 키워드: DFS, 백트래킹, visited 배열, 그래프 탐색💡 DFS ,  백트래킹이란?DFS(Depth-First Search)는 그래프, 트리 탐색의 대표적인 알고리즘으로, 깊이 우선으로 한 방향 끝까지 탐색하는 방식이다.백트래킹은 DFS 탐색 중, 특정 조건을 만족하지 않거나 탐색이 종료되었을 때 이전 상태로 되돌아가며 다른 경로를 탐색하는 기법이다.❗️ DFS에서 visited[] 배열을 어떻게 관리하느냐에 따라 구현이 깔끔하고, 오류 없는 코드가 될 수 있다.🧩 DFS visited 처리 방식 ①: 내부 백트래킹 방식void dfs(int node, int..
[C++] 백준 13023번 ABCDE - DFS, 백트래킹, 그래프
·
Algorithm/BOJ
🔍 문제 요약문제 링크: 백준 13023번 - ABCDE주요 태그: DFS, 백트래킹, 그래프 탐색💡 문제 분석총 N명(0 ~ N-1)이 참가한 알고리즘 캠프에서 친구 관계가 M개 주어진다.관계 A-B-C-D-E와 같은 연속된 5명의 친구 관계가 존재하는지 확인해야 한다.A-B B-CC-DD-E🔑 아이디어DFS를 활용하여 모든 노드에서 깊이 4까지 탐색한다. (간선 4개)경로 탐색 중 동일한 사람을 중복해서 방문하지 않기 위해 visited[] 배열을 활용깊이 4에 도달하면 즉시 종료하도록 flag 사용탐색을 마친 후에는 visited[]를 원래 상태로 복구 (백트래킹)🧩 풀이 전략인접 리스트 방식의 그래프 방식으로 푼다.모든 노드에서 DFS를 시작하면서 깊이 0부터 탐색방문한 노드는 visite..