본문 바로가기

bfs8

[알고리즘/백준] 13460 구슬 탈출2 풀이 코드 - 삼성 SW 역량테스트 문제 https://www.acmicpc.net/problem/13460 풀이 코드 BFS를 통한 완전탐색으로 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { static class State { int rx, ry; int bx, by; int moveCount; public State(int rx, int ry, int bx, int by, int moveCount) { this.rx = r.. 2022. 3. 2.
[알고리즘/백준] 16236 아기 상어 - 자바(Java), 삼성 SW 역량테스트, 너비우선탐색(BFS) 문제 https://www.acmicpc.net/problem/16236 풀이코드 일반적인 BFS 풀이 방법에 추가적인 조건을 덧붙혀서 풀이해야되는 문제이다. BFS를 한번 진행할 때마다 상어가 이동 가능한 모든 곳을 탐색하며 먹을 수 있는 최단 거리의 물고기를 찾는데 만약 최단 거리가 같은 물고기가 여러개 있는 경우 더 위쪽에 있는 물고기를, 이 또한 같다면 더 왼쪽에 있는 물고기 한마리를 먹는다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { static class Pos { int x; int y; public.. 2021. 11. 15.
[알고리즘/백준] 1012 유기농 배추 - 자바(Java), BFS 문제 https://www.acmicpc.net/problem/1012 풀이 코드 BFS를 사용하여 풀이(DFS로도 풀이 가능) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { static int[] dx = {-1, 0, 1, 0}; static int[] dy = {0, 1, 0, -1}; static class Pos { int x; int y; public Pos(int x, int y) { this.x = x; this.y = y; } } public static void bfs(int[][] board, i.. 2021. 10. 29.
[알고리즘/백준] 14502 연구소 - 자바(Java), DFS, BFS, 삼성 SW 역량테스트 기출 문제 https://www.acmicpc.net/problem/14502 풀이 코드 DFS를 사용하여 벽을 놓을 위치를 찾는다. BFS를 사용하여 바이러스가 퍼지는 범위를 구하여 안전 영역을 구한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { static boolean[][] check; static int[][] board; static int n, m; static List virus; static int[] dx = {-1, 0, 1, 0}; static int[] dy = {0, 1, 0, -1}; sta.. 2021. 10. 17.
[백준] 9019 DSLR - 자바, BFS(너비 우선 탐색) 문제 링크 https://www.acmicpc.net/problem/9019 풀이 BFS(너비 우선 탐색)을 사용하여 풀이. 레지스터 값과 명령어들을 저장해두는 용도로 Result 클래스를 사용한다. 이미 계산한 값을 다시 계산하는 것을 막기 위해 visited 배열을 사용한다. import java.io.*; import java.util.*; public class Main { static boolean[] visited; public static String bfs(int from, int to) { Queue q = new LinkedList(); q.offer(new Result(from, "")); visited[from] = true; while (!q.isEmpty()) { Result r.. 2021. 7. 25.
[알고리즘] 7-9 Tree 말단 노드까지의 가장 짧은 경로 - BFS(넓이우선탐색)(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) 인프런의 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의를 수강하며 풀이를 정리하고 있습니다. 문제 설명 : 주어진 이진트리의 루트 노드1에서 말단 노드까지의 길이 중 가장 짧은 길이(간선의 개수가 적은)를 구하는 문제 풀이 넓이우선탐색(BFS)을 진행하다가 자식이 없는 말단 노드를 만나면 해당 노드의 레벨을 반환한다. package inflearn.recursive_tree_graph; import java.util.LinkedList; import java.util.Queue; //Tree 말단 노드까지의 가장 짧은 경로 public class Main7_9 { public static int bfs(Node root) { Queue q = new LinkedList(); q.offer(r.. 2021. 6. 17.