[JAVA] DFS Flood fill 구현
class Solution { @Test public void solution() { // 5, 5 영역 int[][] board = new int[][] { {0,0,0,0,0}, {0,0,0,1,1}, {0,0,0,1,0}, {1,1,1,1,0}, {0,0,0,0,0} }; DFS_Flood_Fill(board, 1, 1, 3); for(int i = 0; i < board.length; i++) { for(int j = 0; j < board[i].length; j++) { System.out.print(board[i][j] + " "); } System.out.println(""); } } /** * 다차원 배열의 특정 칸과 연결된 영역을 검색하는 알고리즘. * 그림판의 채우기와 같은 기능. * ..
[JAVA] BFS 최단거리 구현
class Solution { @Test public void solution() { int[][] graph = new int[][] { {0,0,0,0,0}, {0,1,1,1,1}, {0,0,0,0,0}, {1,1,1,1,0}, {0,0,0,0,0}, }; 최단경로(graph, 0, 1, 4, 2); } /** * BFS를 활용해 최단경로를 구하기 위한 방법 * @param board 2차원 배열. (값이 0인 영역만 이동하도록 구성됨, 1은 벽) * @param sr - 시작 row * @param sc - 시작 col * @param er - 도착지 row * @param ec - 도착지 col */ void 최단경로(int[][] board, int sr, int sc, int er, int e..