본문 바로가기

BFS3

미로 찾기 (BFS) 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/159993 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr더보기 문제 풀이전형적인 BFS 2단계 최단거리 문제.1단계: S에서 BFS를 돌려 L까지의 최단 거리를 구함2단계: L에서 BFS를 돌려 E까지의 최단 거리를 구함두 거리를 더해서 반환. 둘 중 하나라도 도달 불가능하면 -1 작성한 코드import java.util.*;public class Solution { public int solution(String[] maps) { int n = maps.length; .. 2026. 7. 30.
전력망을 둘로 나누기 (BFS) 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr더보기 문제 풀이1. 간선을 하나씩 끊은 모든 경우에 대해서 그래프에 만든다.2. 1에서 생성된 모든 그래프에서 하나의 노드를 정해서 연결된 모든 송전탑의 숫자를 센다.(BFS)3. (전체 송전탑 수) - (2에서 나온 송전탑의 수) = 다른 전력망의 송전탑 수4. 3의 식을 이용해서 두 전력망 차이값의 최소값을 찾는다. BFS든 DFS든 완전탐색을 통해 하나의 전력망의 송전탑을 숫자를 구하는게 핵심인 문제였다. BFS를 이용해 문제를 풀어본 .. 2026. 7. 7.
BFS(너비 우선 탐색) BFS(너비 우선 탐색)란? 그래프나 트리에서 시작 노드로부터 가까운 노드를 먼저 방문하고 멀리 떨어진 노드를 나중에 방문하는 알고리즘주로 큐를 이용해 구현 특징최단 경로 보장 : 가중치가 없는 그래프에서 최단 경로를 찾을 수 있음큐 사용 : FIFO 방식의 큐를 사용하여 방문 순서 관리활용 예시최단 경로 찾기 : 가중치 없는 그래프에서 두 노드 간의 최단 경로 탐색레벨 순서 탐색 : 트리나 그래프의 각 레벨을 순차적으로 방문브로드캐스트 알고리즘 : 네트워크 내 모든 노드에 메시지 전달퍼즐 및 게임 상태 탐색 : 미로 찾기, 퍼즐 해결 등 단계별 상태 탐색 구현 방법1. 시작 노드를 큐에 넣고 방문 처리합니다. 2. 큐에서 노드를 꺼내고: 2.1 해당 노드의 인접 노드 중 방문하지 않은 노드를 모.. 2026. 7. 1.