백준 DFS 3

[BaekJoon] 백준 2583번 _ 영역 구하기 for JAVA _ DFS 알고리즘

https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net DFS로 풀었음 탐색 문제는 다 비슷비슷 한 것 같다. 보자마자 DFS 아니면 BFS를 써야겠다 싶은.... 쉬운 문제만 푸는건가? 뭐 암튼.. 여기서 주의할점은.... 문제에 그려진 배열로 생각하면 안된다는거랑... 입력에 주어지는 숫자대로 배열을 만들면 안된다는...것이다. 우선 문제에 그림이 이렇게 그려져있는데 우리는 배열을 만들 때 (0,0)이 왼쪽 위에 가게 하므로 이..

알고리즘/백준 2022.01.28

[BaekJoon] 백준 4963번 _ 섬의 개수 for JAVA _ DFS 알고리즘

https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net DFS 알고리즘을 이용하여 풀었다. 전형적인 DFS 문제로 이해할 수 있는데 무한 루프로 돌리다가 w h 값이 0 0 이 되었을 때 멈춰야한다는 것이 추가되었다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer;..

알고리즘/백준 2022.01.24

[BaekJoon] 백준 2606번 _ 바이러스 for JAVA _ DFS 알고리즘

https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 위의 문제는 DFS, BFS 모두 사용할 수 있을 것 같다. 나는 DFS를 먼저 연습할 거라서 DFS로 풀었다. DFS를 사용하면 순서는 1 - 2 - 3 - 5 - 6 이 되어 4가 return될 것이다. (1은 포함x) 이전에 풀었던 1260번과 아주 유사한 문제이다 (https://ticssfm.tistory.com/67) 코드 import java.io.BufferedReader; import ..

알고리즘/백준 2022.01.20