BFS 알고리즘 경로 찾기 (정올)
살짝 난해한 문제 같았으나
비교적 빠른 시간에 풀었고 한방에 통과~
구조체에 어떠한 변수를 넣을 것인가를 잘 생각해야 하고,
중복된 곳을 다시 큐에 넣지 않게 잘 체크하는 것이
BFS 알고리즘을 푸는 데 있어 가장 중요한 부분인 것 같다.
![]()
노드를 잘 만들고 경로 체크를 하고 큐에 넣고 빼고
유효성 체크만 잘 해주면 아주 간단한 문제.
(모든 BFS의 공통된 핵심인 듯 하다.)
![]()
01. 변수 선언
BFS 알고리즘을 위한 인큐 , 디큐
![]()
02. 초기화
큐가 비었는지 체크하는 함수
그리고 헤밍 경로가 맞는지 체크하는 함수
![]()
03. 답을 찾는 함수
1. 큐에 넣고
2. 경로 체크 하고
3. 큐에서 빼고
4. 유효성 검사
![]()
04. 메인 함수
![]()
BFS 알고리즘은 앞서 말했듯이 구조체를
어떻게 구성할지 빨리 캐치만 한다면
그 후로는 쭉쭉 풀어나갈 수 있을 듯하다.
'알고리즘' 카테고리의 다른 글
| [알고리즘][다이나믹(동적 계획법)] 두 줄로 타일깔기 (정올) (0) | 2017.02.06 |
|---|---|
| [알고리즘 기초][문자열] 상수 , 다이얼 , 크로아티아 알파벳 (백준) (0) | 2017.01.19 |
| [알고리즘 기초][문자열] 단어 공부 , 그룹 단어 체커 (백준) (0) | 2017.01.18 |
| [알고리즘][BFS] 보물섬 (정올) (0) | 2017.01.18 |
| [알고리즘 기초][문자열] 아스키 코드 , 알파벳 찾기 , 문자열 반복 (백준) (0) | 2017.01.14 |