본문 바로가기

BFS4

[백준] 아기상어 / 자바 문제         레벨: G3알고리즘: 풀이시간: 12:34힌트 참조 유무:https://www.acmicpc.net/problem/162361 번째 시도: 실패   [알고리즘 선택 사고 과정]먹을 수 있는 것들을 다 먹어야 함(배열 탐색)먹을 수 있는 것에서 갈 때에는 최소한의 거리로 가야 함 -> BFS 선택되게 간단히 알고리즘 선택했다 [풀이 과정]반복문상어가 먹을 수 있는 것을 찾을 때까지 탐색(BFS)한다.만약 먹을 것이 없다면 반복문을 종료하고 답을 반환한다.자세한 건 주석 참조  import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayDeque;i.. 2024. 5. 25.
[백준] 토마토/자바 문제         레벨: G5알고리즘: BFS풀이시간: 2시간힌트 참조 유무: 유https://www.acmicpc.net/problem/7569 1 번째 시도   기존 bfs와 다른 점은 하나인 줄 알았다. 방향이 상,하가 추가 되서 총 6개를 탐색해야 된다는 점이다 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.PriorityQueue;import java.util.Queue;public class Main { static int[] xx; static int[] yy; public stat.. 2024. 5. 12.
[백준] 연구소/자바 문제         레벨: G4알고리즘: BFS, DFS풀이시간: 힌트 참조 유무:https://www.acmicpc.net/problem/14502 1 번째 시도   벽을 세우는 규칙이 안 보이는 것 같다결국 완전탐색 선택또 하나, 힌트인 것은 입력 값 N,M이 8이하이다. 결국 완전탐색을 해도 된다는 소리이다.얉은 복사 필수!!1. 얕은 복사 : 복사한 배열이 원래 배열의 '주솟값'을 가져옴2. 깊은 복사 : 복사한 배열이 원래 배열을 '그대로' 가져옴 dfs로 벽을 세울 경우의 수를 탐색하고 3개의 벽을 세우면 bfs함수 호출하여 바이러스를 퍼트리기바이러스를 퍼트릴 때 원본배열에서 퍼트리는 것이 아니라 얕은 복사를 한 배열에 퍼트린 것이다. import java.io.BufferedReader;im.. 2024. 5. 8.
[백준] 벽 부수고 이동하기/자바 문제         레벨: G3알고리즘: BFS 풀이시간:  1시간 20분힌트 참조 유무: 유https://www.acmicpc.net/problem/22061 번째 시도   벽을 언제 뽀갤 건지 한 번에 알 수 있나?NO근데 왜 dfs가 아니고 bfs 인가?dfs는 최단 경로를 찾는 것이 아니라 끝까지 탐색해서 경로를 찾는 것이기 때문에 첫 번째 도착한 것이 최단경로임을 보장하지 않는다. 최단 경로 찾기에 bfs가 적합하다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;public class Main.. 2024. 5. 7.