1. 관련 문제 🎯 문제 : 백준 15900 나무 탈출 🪵 난이도 : 실버 1 2. 문제 소개 🧩 1️⃣ '나무 탈출' 은 N개의 정점이 있는 트리 모양으로 생긴 게임판과 몇 개의 게임말로 이루어진다. 트리의 각 정점에는 1번부터 N번까지 번호가 붙어있다. 1번 정점은 '루트 노드', 자식이 없는 노드는 '리프 노드' 라고 불린다. 2️⃣ 두 사람이 번갈아 가면서 게임판에 놓여있는 게임말을 움직인다. 처음에는 트리의 모든 리프 노드에 게임말이 하나씩 놓여있는 채로 시작한다. 어떤 사람의 차례가 오면, 그 사람은 **현재 존재하
1. 관련 문제 🎯 문제 : [[프로그래머스] 전력망을 둘로 나누기] (https://school.programmers.co.kr/learn/courses/30/lessons/86971) 💡 난이도 : LEVEL 2 2. 문제 소개 🧩 1️⃣ n개의 송전탑이 전선을 통해 하나의 트리 형태로 연결되어 있다. 2️⃣ 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 한다. 3️⃣이때, 두 전력망이 갖게 되는 송전탑의 개수를 최대한 비슷하게 맞추고자 한다. 아래의 예시를 살펴보면, 하나의 트리 형태로 되어 있다. 이때, 4번과 7번을 끊어내면 4번을 기준으로 6개, 7번을 기준으로 3개를 가진 2개의 네트워크가 만들어진다.  📈 그래프는 정점(node, vertices)와 정점을 연결하는 간선(edge)으로 이루어진 자료구조이다. 그래프를 탐색한다는 것은 하나의 정점으로부터 시작하여 차례대로 모든 정점들을 한 번씩 방문하는 것을 말한다. 그래프를 탐색하는 방법은 대표적으로 깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS)이 있다. 2. 깊이 우선 탐색 (DFS = Depth-First Search) 최대한 깊이 내려간 뒤, 더이상 깊이 갈 곳이 없을 경우 옆으로 이동한다. 현재 정점에서 갈 수 있는 점들까지 들어가면서 탐색한다. 스택 또는 재귀함수로 구현한다. **으로 본다. 2️⃣ N x N인 그리드의 각 칸은 R(빨강), G(초록), B(파랑) 중 하나로 색칠되어 있다. 3️⃣ 그림은 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색으로 이루어져 있다. 4️⃣ 같은 색상이 상하좌우로 인접해 있는 경우에 두 글자는 같은 구역에 속한다. ![](https://velog.velcd