inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

88. 미로의 최단거리 통로(BFS 활용)

질문있습니다.

185

gisung2215

작성한 질문수 3

0

선생님 방문한 map 을 1로 바꾸시는데

int dx[] ={1, 0, -1, 0}
int dy[] ={0, 1, 0, -1}

0 0 1 

0 0 1

1 0 0

이 경우 (1,1)에서 (1,2),(2,1)을 차례로 방문후

1 1 1

1 0 1

1 0 0 

이 상태에서 (1,2)에서 다시 for문 돌면서 (2,2)를 1로 변경합니다.

1 1 1 

1 1 1 

1 0 0 

그럼 큐에 남아있는 (2,1)에서 (2,2)로 가는 경우가 사라지게 되는데 이 경우 무시해도 괜찮나요? 최단거리값이라 상관없는건가요? 

큐에서 pop()해서 직접 방문한것도 아니고, 큐에push()만 했는데 방문한걸로 취급(?)해도 되나해서요

질문이 엉뚱하죠 뭔가 찜찜?해서 질문드려요ㅋㅋ

강의 잘 보고 있습니다. 좋은하루되세요

코테 준비 같이 해요! C++

답변 1

1

김태원

감사합니다^^

큐를 이용한 BFS 탐색은 출발점에서 한 번 만에 갈 수 있는 곳을  큐에 다 넣고 그 다음 두 번만에 갈 수 있는 곳을 다 넣고...

이런식으로 레벨탐색을 합니다. 즉 큐에서 먼저 나온 것이 가장 최단입니다. 나중에 나온것이 같은 지점으로 갈 수 있지만 앞에 나온 것보다 거리가 같거나 아니면 더 큽니다. 그래서 나중에 나온것은 무시해도 됩니다.

테스트 케이스 질문

0

373

1

병합정렬 시간복잡도 질문

0

462

1

41.연속된 자연수의 합 문제풀이에서 수학적인 원리를 모르고 있습니다.

0

1345

2

질문드립니다.

0

376

1

질문드립니다!

0

430

1

dev 프로그램 질문

0

275

1

문제가 이해가 안되요

0

376

1

4번 나이차이 문제 접근법 질문 드립니다.

0

307

1

source file not compiled

0

1047

3

59번 질문드립니다.

0

372

1

25번 문제 질문

0

349

1

4. 나이차이 문제 질문입니다.

0

372

1

90번 라이언 킹 심바 1번 테스트 케이스

0

470

1

71번 문제 전역 변수 질문 있습니다

0

365

1

75번, 79번 priority_queue관련

1

356

1

75.최대 수입 스케줄

0

400

2

복면산 정답의 수

0

431

1

테스트 케이스에 대해서

0

445

1

수업 내용 질문입니다!

1

232

1

풀어보면 좋은 문제 목록 - 2580 스토쿠 DFS 질문입니다!!

0

822

2

12. 플로이드-와샬(그래프 최단거리) . 27:25초

0

255

1

다른 풀이 방식

0

317

1

크루스칼 vs 프림

0

306

1

숫자 총개수 small 질문있습니다.

0

243

1