김준태·2022년 8월 31일
0

코딩테스트

목록 보기
4/13
post-thumbnail

백준 2178 미로 탐색

우선 완성 코드이다. 길찾기 최단거리 문제를 풀때는 BFS(너비 우선 탐색)으로 풀어야한다. 우선
이렇게 해서 입력값을 받아서 리스트 형태로 저장해준다.
그리고 bfs를 구현 해주는데 우선 체크 배열이 필요하다. 왜냐하면 예를 들어 앞으로 갔는데 다시 왔던곳으로 돌아가고 다시 앞으로 가고 같은곳을 계속 반복할수 있기때문이다. 그리고 첫시작은 True로 설정해준다.
문제에서는 1,1이 시작지점이지만 코드는 0,0 시작이라서 저렇게 해놨다. (0,0,1)여기서 1은 이동할때 마다 증가 할수있는 거리값이다 출발부터 칸을 센다.

우선 if 문을 사용해서 최종거리인 (N,M)에 도달하면 아까 (0,0,1=d) d값을 리턴 하기로한다.
그리고 갈수있는곳을 파악하기위해서 dy,dx를 구현한다
그리고 if 문을 사용해서 갈수있는곳을 판별해서 갈수있는곳으로 간다.
is_valid 함수를 활용한다.

첫 깊게 공부해보는 DFS,BFS 인데 좀 어려운거같다. 하지만 반복만이 살길이다. 계속 반복해서 언젠가 자유롭게 활용가능하지 않을까 싶다. 아직 공부해야할 알고리즘이 많은데.. 후후..

0개의 댓글