해결된 질문
작성
·
194
답변 1
1
안녕하세요 Park님 ㅎㅎ
이거는 BFS를 구축할 때 처음 지점을 visited[0] = 1로 만들어놓기 때문에 1초라고 되는건데요.
자,
만약에 최단거리를 구축할 때 첫 지점을 visited = 1로 안놓고 문제에 맞춰 0초이기 때문에 0이라고 놓는다면
이런 로직이 추가가 됩니다.
if visited 로 방문했는지를 확인하는데
첫지점은 visited = 0이기 때문에 방문미처리가 되고 첫지점을 다시 방문하게 되버립니다.
그래서 그 부분을 막기 위해 로직에
이 부분이 첫지점인지
if x == 첫지점
등의 로직이 추가가 됩니다.
그래서 로직의 깔끔함을 위해서 최단거리배열을 만들 때 첫지점을 visited = 1로 만드는 것이 좋습니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제가 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.