From caceb3cef80609d260d3a35ed778804e93f21e97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=8B=A0=EC=A7=80?= <101992179+ksinji@users.noreply.github.com> Date: Sat, 15 Nov 2025 23:12:46 +0900 Subject: [PATCH] =?UTF-8?q?[20251115]=20PGM=20/=20LV2=20/=20=EA=B2=8C?= =?UTF-8?q?=EC=9E=84=20=EB=A7=B5=20=EC=B5=9C=EB=8B=A8=EA=B1=B0=EB=A6=AC=20?= =?UTF-8?q?/=20=EA=B0=95=EC=8B=A0=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...34\353\213\250\352\261\260\353\246\254.md" | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 "ksinji/202511/15 PGM \352\262\214\354\236\204 \353\247\265 \354\265\234\353\213\250\352\261\260\353\246\254.md" diff --git "a/ksinji/202511/15 PGM \352\262\214\354\236\204 \353\247\265 \354\265\234\353\213\250\352\261\260\353\246\254.md" "b/ksinji/202511/15 PGM \352\262\214\354\236\204 \353\247\265 \354\265\234\353\213\250\352\261\260\353\246\254.md" new file mode 100644 index 00000000..189079c3 --- /dev/null +++ "b/ksinji/202511/15 PGM \352\262\214\354\236\204 \353\247\265 \354\265\234\353\213\250\352\261\260\353\246\254.md" @@ -0,0 +1,43 @@ +```java +import java.util.*; + +class Solution { + static final int[] dx = {1, -1, 0, 0}; + static final int[] dy = {0, 0, 1, -1}; + + public int solution(int[][] maps) { + int n = maps.length; + int m = maps[0].length; + + int[][] dist = new int[n][m]; + Queue q = new ArrayDeque<>(); + + dist[0][0] = 1; + q.offer(new int[]{0, 0}); + + while (!q.isEmpty()) { + int[] cur = q.poll(); + int x = cur[0], y = cur[1]; + + if (x == n - 1 && y == m - 1) { + return dist[x][y]; + } + + for (int dir = 0; dir < 4; dir++) { + int nx = x + dx[dir]; + int ny = y + dy[dir]; + + if (nx < 0 || ny < 0 || nx >= n || ny >= m) continue; + if (maps[nx][ny] == 0) continue; + if (dist[nx][ny] != 0) continue; + + dist[nx][ny] = dist[x][y] + 1; + q.offer(new int[]{nx, ny}); + } + } + + return -1; + } +} + +```