문제 이해 N X M 크기의 이차원 배열의 구성 요소0 ==> 빈공간1 ==> 벽2 ==> 바이러스( 상하좌우로 이동 가능) 조건1) 바이러스는 상하좌우로만 이동 가능2) 벽은 무조건 3개만 세울 수 있다. 문제를 풀기 위해서는 임의의 빈 공간에 벽을 3개 세운 다음 바이러스를 퍼뜨리고 연구소에서 바이러스가 없는 빈 공간의 갯수를 세면 된다. 구현 로직 벽 세우기 ==> 임의의 빈 공간에 벽을 3개 세울 수 있는 모든 경우를 고려 해야 하므로 DFS로 구현바이러스 퍼뜨리기 ==> 상하좌우로 이동하는 것을 구현하기 위해 BFS로 구현 문제 해결 DFS ==> 3개의 벽을 세울수 있는 경우를 모두 구하기public static void dfs(int wall){ //벽 세우기 if(wall==3){..