알고리즘 - Blob 크기 구하기(재귀)
특점 지점에서 시작해서 연결되어있는 Blob의 크기가 얼마인지 구하는 메서드 이다. 문제를 작게 쪼개어서 보는것이 중요하다. public class CountCells { public static void main(String[] args) { System.out.println(countCells(1, 1)); } // 결과값은 17 private static int N = 8; private static int[][] grid = { {0, 0, 0, 0, 0, 0, 0, 1}, {0, 1, 1, 0, 1, 1, 0, 1}, {0, 0, 0, 1, 0, 0, 0, 1}, {0, 1, 0, 0, 1, 1, 0, 0}, {0, 1, 1, 1, 0, 0, 1, 1}, {0, 1, 0, 0, 0, 1, 0, ..
2023. 3. 22.
알고리즘 - 미로 출구찾기(재귀)
int[][] 로 정의된 미로에서 특정 출발점에서 탈출 경로가 있는지 확인하는 메서드이다. 고려해야할 사항은 해당 경로의 방문여부와 해당 경로의 이웃한 칸들의 탈출 경로 유무이다. (재귀를 통해서 확인) 재귀는 탈출(종료) 조건을 지정해주는것이 중요하다는것을 다시한번 알 수 있는 코드였다. public class MazeCase { public static void main(String[] args) { System.out.println(findPath(0, 0)); } // 탈출할 수 있는 경로가 있으므로 true 리턴. private static int N = 8; private static int[][] maze = { {0, 0, 0, 0, 0, 0, 0, 1}, {0, 1, 1, 0, 1, 1,..
2023. 3. 22.