-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
(nx ==7 && ny == 7) 일때 return 해줘야 하지 않나요?
22.10.05 17:54 작성 조회수 284
1
저는 아래와 같이 nx가 7이 될때 return을 해줘야 한다고 생각했습니다.
왜냐하면 distance 배열에서 거리를 입력하는데, 7,7에 도착하는 순간 return을 한 그 순간의 값이 최단경로의 길이라고 생각했습니다.
return을 해주지 않는다면 distance[7][7]의 값이 최단 거리가 아닌 가장 긴 거리의 값으로 덮어써 진다고 생각을 했는데, 왜 (nx ==7 && ny == 7)경우 return 하게끔 예외처리를 해주지 않아도 되는지 궁금합니다.
for (int i = 0; i < 4; i++) {
int nx = x + dx[i];
int ny = y + dy[i];
// if (nx ==7 && ny == 7) {
// distance[nx][ny] = distance[x][y] + 1;
// answer = distance[nx][ny];
// return;
// }
if (nx >= 1 && nx <= 7 && ny >= 1 && ny <= 7 && board[nx][ny] == 0) { // 범위 안이고 해당 좌표의 값이 0 일 경우
board[nx][ny] = 1;
distance[nx][ny] = distance[x][y] + 1;
queue.offer(new Point(nx, ny));
}
}
답변을 작성해보세요.
5
답변 1