File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 44
55### 성능 요약
66
7- 메모리: 54.4 MB, 시간: 9.55 ms
7+ 메모리: 58.3 MB, 시간: 9.61 ms
88
99### 구분
1010
1616
1717### 제출 일자
1818
19- 2025년 05월 23일 10:04:24
19+ 2025년 05월 24일 20:51:54
2020
2121### 문제 설명
2222
Original file line number Diff line number Diff line change 11import java .util .*;
2+
23class Solution {
34 public int solution (int [][] maps ) {
4- int answer = 0 ;
5- // BFS로 최단거리 구하기
5+ //BFS로 최단 거리 구하기
6+
7+ //상하좌우 움직임
8+ int [] dr = {1 ,-1 ,0 ,0 };
9+ int [] dc = {0 ,0 ,-1 ,1 };
610
7- // 시작 점 예약 (0,0, 거리 1)
8- int [] dr = {1 ,-1 ,0 ,0 };
9- int [] dc = {0 ,0 ,1 ,-1 };
1011 int n = maps .length ;
1112 int m = maps [0 ].length ;
12- Queue <int []> queue = new ArrayDeque <>();
13- boolean [][] visited = new boolean [n ][m ];
14-
1513
16- queue .offer (new int []{0 ,0 ,1 });
17- visited [0 ][0 ] = true ;
14+ Queue <int []> q = new ArrayDeque <>();
15+ boolean [][] v = new boolean [n ][m ];
16+ q .offer (new int []{0 ,0 ,1 });
1817
19- while (!queue .isEmpty ()){
20- //현재 노드 방문
21- int [] cur = queue .poll ();
18+ while (!q .isEmpty ()){
19+ //현재 노드 꺼내기
20+ int [] cur = q .poll ();
2221 int r = cur [0 ], c = cur [1 ], dist = cur [2 ];
2322
24-
25- //if 도착지 도달하면 Return dist;
26- if (r == n -1 && c == m -1 ) return dist ;
27- //다음 노드 예약
23+ //목적지 도달 시 거리 반환
24+ if (r == n -1 && c == m - 1 ) return dist ;
25+ //다음 노드 찾기
2826 for (int i = 0 ; i < 4 ; i ++){
29- int nr = r +dr [i ], nc = c + dc [i ];
30- if (nr >= 0 && nr < n && nc >= 0 && nc < m && maps [nr ][nc ] == 1 ){
31- if (!visited [nr ][nc ]){
32- queue .offer (new int []{nr ,nc ,dist + 1 });
33- visited [nr ][nc ] =true ;
27+ int nr = r + dr [i ];
28+ int nc = c + dc [i ];
29+ //다음 노드 유효성 검사
30+ if (nr >= 0 && nr < n && nc >= 0 && nc < m && maps [nr ][nc ] == 1 ){
31+ if (!v [nr ][nc ]){
32+ q .offer (new int []{nr ,nc ,dist + 1 });
33+ v [nr ][nc ] = true ;
3434 }
3535 }
36-
36+
3737 }
38-
38+
39+
40+
41+
3942 }
4043
41-
42-
44+
4345 return -1 ;
4446 }
4547}
You can’t perform that action at this time.
0 commit comments