BFS 2

[알고리즘] 너비 우선 탐색 (BFS)

너비 우선 탐색 (BFS)너비 우선 탐색(Breadth First Search)은 시작 정점에서 가까운 노드부터 차례로 탐색하는 방식이다.먼저 방문한 노드를 기준으로 인접한 노드들을 한 층씩 넓게 탐색큐(Queue) 자료구조를 이용해서 구현한다.큐 (Queue)탐색 방식이 선입선출(FIFO) 특성을 가지기 때문에 큐가 적합하다.먼저 거리가 1인 노드를 넣어놓고, 2인 인접노드를 넣으면서 탐색.거리가 1인 (인접한) 노드부터 처리함.동작 방식인접리스트 그래프 graph 로 표현, 방문을 저장할 배열 visited 초기화큐에 시작 노드를 추가 (방문 처리)큐에서 노드를 꺼낸 후 인접 노드 탐색꺼낸 노드의 인접 노드를 큐에 저장 (추가하면 방문처리)큐가 비어있을 때 까지 반복활용 예시최단 경로(거리) 찾기레벨..

Algorithm 2025.05.11

[프로그래머스] LV3. 가장 먼 노드 (그래프)

프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 파악n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다.노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 solution 함수를 작성해주세요.제한사항노드의 개수 n은 2 이상 20,000 이하입니다.간선은 양방향이며 총 1개 이상 50,000개 이하..