백준 - 2178(DFS,BFS)
// 미로탐색 public class BFS_2178 { // 행,열 static int N; static int M; // 미로 맵 정보 static int[][] mazeInfo; // 이동 방향 순서(하,우,좌,상) // 이동 방향 순서가 (좌 -> 상) 또는 (상 -> 좌) 부터 시작하게 되면 첫번째 위치를 다시 방문하게 되므로 하 또는 우 부터 시작해야됨 static int X[] = {1,0,0,-1}; static int Y[] = {0,1,-1,0}; // (N,M) 위치에 도착했을 경우에만 큐에 데이터가 비어있게됨 public static int bfs(int x,int y) { // 큐에 시작 위치를 넣어줌 Queue q = new LinkedList(); q.offer(new Node..
2021. 2. 1.
백준 - 1926(BFS,DFS)
첫 번째 코드) import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Test { static int n; // 세로크기 static int m; // 가로크기 // 상,하,좌,우 (인접한 그림 확인시) static int[] X = {-1,1,0,0}; static int[] Y = {0,0,-1,1}; // 도화지 정보( 그림 - 1 , 그림X - 0) static int[][] board; public static int bfs(int x,int y) { int grimSize = 1; // 그림의 크기 // 큐 자료구조 사용 Queue q..
2021. 1. 30.
이코테 - 미로탈출(BFS,DFS)
- 한 번에 갈 수 있는 최단거리를 구하는 게 목표이므로 BFS를 사용해서 문제를 풀었음 내가 짠 코드) public class Test3 { // N,M (행,열) static int n; static int m; // 미로 정보 ( 괴물칸 -> 0 , 괴물없는칸 -> 1) static int[][] mazeInfo; // 방문여부 체크 (괴물이 없는 부분칸에서 방문했을경우 -> 1 , 방문안했을경우 -> 0) static int[][] mazeCk; // 이동 가능한 방향 검사 순서 (우 -> 하 -> 좌 -> 상) static int[] X = {0,1,0,-1}; static int[] Y = {1,0,-1,0}; // 최소 이동한 칸 개수 static int count = 0; // 최단거리로 ..
2021. 1. 29.