DFS 4

[BaekJoon] 백준 1012번 _ 유기농 배추 for JAVA _ DFS 알고리즘

https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 얘도 그냥 전형적인 DFS/BFS 문제이다. DFS 연습중이라 DFS로 풀음 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Baek1012 { // DFS public static int count[] ..

알고리즘/백준 2022.01.21

[BaekJoon] 백준 2667번 _ 단지 번호 붙이기 for JAVA _ DFS 알고리즘

https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net DFS로 풀었다. 딴건 몰라도 자바는 null때매 넘 짜증남... 특히 배열...... 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; public class Baek2667 { pu..

알고리즘/백준 2022.01.20

[BaekJoon] 백준 1260번 _DFS와 BFS for JAVA _ DFS, BFS 알고리즘

https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net DFS, BFS 알고리즘을 구현하는 문제이다. 여기서 주의해야할 것은 정점 번호가 작은 것을 먼저 방문 한다는 것과 예를 들어 예제 입력이 3 5 라면 5 3 으로도 넣어줘야 한다는 점이다. 2중 ArrayList를 사용할 것인데 행 번호가 노드 번호이므로 3번째 행에 5를 넣고, 5번째 행에 3을 넣어줘야 한다. 코드 import java.io.Buffere..

알고리즘/백준 2022.01.20

[Algorithm] DFS 알고리즘 (깊이 우선 탐색)

DFS(Depth-First Search) 알고리즘은 깊이 우선 탐색 방법으로, 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘이다. DFS는 스택 자료구조 혹은 재귀 함수를 주로 이용하며 모든 노드를 탐색한다. 예시를 살펴보자 위와 같은 그래프가 있다. 시작 노드는 1이며, 방문 기준은 번호가 낮은 인접 노드라고 가정하자. 시작 노드 1에서 인접한 노드는 '2', '3', '8' 이다. 우리는 방문 조건에 따라 번호가 작은 2번 노드에 방문할 것이다. 이 때 스택에 1 - 2 를 차례로 담아준다. 노드 2에서 방문하지 않은 인접 노드 '7'에 방문해준다. 이 때 스택은 1 - 2 - 7 이 된다. 노드 7의 인접 노드 '6', '8' 중 작은 번호인 노드 6에 방문한다. 이 때 스택은 1 - 2 -..