[JAVA] 백준 1260 DFS와 BFS
2021. 8. 23. 17:03
알고리즘/백준 BOJ
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 코드를 작성해주었다. 인접리스트(ArrayList) 형태로 그래프를 만들어 주었다. ArrayList 안에 다시 ArrayList 형태를 만들고, for문을 이용해 정점 개수만큼 ArrayList안에 ArrayList를 생성해줌. 주의할 점 1. "방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하..
[JAVA] 백준 1987 알파벳 풀이
2021. 8. 20. 17:57
알고리즘/백준 BOJ
https://www.acmicpc.net/problem/1987 풀이 방법 1. 시작 위치에서 사방탐색, 방문하지 않은 알파벳이 있다면 count++ && 진출하고 계속 탐색 (DFS) 2. 만약, 재귀가 끝났다면 count와 max 값을 비교 3. 재귀가 끝난 후, 다시 되돌아 가면서 방문했던 알파벳을 false로 && count 값 -1 틀렸던 부분 & 주의할 부분 1. 되돌아갈 때 count -1 을 꼭 해주어야 함 2. 되돌아 갈 때 조건의 위치!! JAVA 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; publ..
[JAVA] 백준 3109 빵집 풀이
2021. 8. 20. 09:47
알고리즘/백준 BOJ
https://www.acmicpc.net/problem/3109 3109번: 빵집 유명한 제빵사 김원웅은 빵집을 운영하고 있다. 원웅이의 빵집은 글로벌 재정 위기를 피해가지 못했고, 결국 심각한 재정 위기에 빠졌다. 원웅이는 지출을 줄이고자 여기저기 지출을 살펴보던 www.acmicpc.net 풀이 방법 1. DFS로 시작부분부터 탐색한다. 2. 끝까지 갔는데 최종 y좌표가 C-1과 같다면, 파이프라인이 설치된 것 => 다른 탐색 필요없음, 파이프라인 생성 여부 저장 3. 다른 탐색을 하기 위해 되돌아갈 때, 파이프라인 생성 여부가 true라면 방문 표시하고 return 틀렸던 부분 & 주의할 부분 1. 좌표를 방문할 때마다 방문 표시를 해줬는데 이렇게 하니 실패한 파이프라인의 방문 표시를 false로..