diff --git "a/mjj111/\352\261\260\353\246\254\353\221\220\352\270\260_\355\231\225\354\235\270\355\225\230\352\270\260.java" "b/mjj111/\352\261\260\353\246\254\353\221\220\352\270\260_\355\231\225\354\235\270\355\225\230\352\270\260.java" deleted file mode 100644 index 2dd8ffb..0000000 --- "a/mjj111/\352\261\260\353\246\254\353\221\220\352\270\260_\355\231\225\354\235\270\355\225\230\352\270\260.java" +++ /dev/null @@ -1,53 +0,0 @@ -import java.util.*; - -class Solution { - public static int[] solution(String[][] places) { - int[] answer = new int[places.length]; - - for (int i = 0; i < places.length; i++) { - String[] p = places[i]; - - boolean isOk = true; - for (int r = 0; r < 5 && isOk; r++) { - for (int c = 0; c < 5 && isOk; c++) { - if (p[r].charAt(c) == 'P') { - if (!bfs(r, c, p)) - isOk = false; - } - } - } - answer[i] = isOk ? 1 : 0; - } - - return answer; - } - - private static boolean bfs(int r, int c, String[] p) { - int dr[] = { -1, 1, 0, 0 }; - int dc[] = { 0, 0, -1, 1 }; - - Queue queue = new LinkedList(); - queue.offer(new int[] { r, c }); - - while (!queue.isEmpty()) { - int[] position = queue.poll(); - - for (int i = 0; i < 4; i++) { - int nr = position[0] + dr[i]; - int nc = position[1] + dc[i]; - - if (nr < 0 || nc < 0 || nr >= 5 || nc >= 5 || (nr == r && nc == c)) - continue; - - int d = Math.abs(nr - r) + Math.abs(nc - c); - - if (p[nr].charAt(nc) == 'P' && d <= 2) - return false; - if (p[nr].charAt(nc) == 'O' && d < 2) - queue.offer(new int[] { nr, nc }); - } - } - - return true; - } -}