좋은 아침입니다 고수님들
미천한 PS 입문자 학식이 질문 하나 올립니다
---
[ 문제에 대한 설명 ]
스택 + 백트래킹을 사용해서 푸는 미로 문제(a maze problem) 입니다
학교에서 스택 자료구조를 배우면서 '이런 문제들도 있으니 한 번 풀어보세요~'
하고 문제들을 찾아보다가 해당 문제를 알게 되었습니다.
레퍼런스를 찾아보고 풀어보려고 했는데
뭔가 오류가 있어서 길을 제대로 찾지 못 하고 있습니다
파이썬으로 작성했고 디버거를 통해 구간구간을 다 걸어봐도 제 수준에선 원인을 찾을 수가 없습니다.
---
[ 오류 재현 방법 ]
해당 사이트에 제가 솔루션을 보고 이해한 코드를 올려놓았습니다.
maze = [
[ 1, 0, 1, 1, 0 ],
[ 1, 1, 1, 0, 1 ],
[ 0, 1, 0, 1, 1 ],
[ 0, 1, 0, 1, 1 ],
[ 1, 1, 1, 1, 1 ]
]
시작점은 maze[0][0] 으로 하고 있고, 탈출지점을 maze[3][4] 로 하였을 때
해당 탈출지점까지 나가는 경로가 분명 있음에도 불구하고
가능경로 여부를 판단해주는 함수인 escapeMaze 에선 False 를 반환하고 있습니다.
---
감사합니다.
노드에 direction을 없애고 dfs에서 동서남북 네 방향 모두 고려하도록 해야 할 것 같아요
for i in range(4): for j in range(5): print(f"({i},{j})",escapeMaze(maze,i,j)) 일케 돌려보니까 (0,0) (0,2) 말고는 다 false 나오네요
이건 PS가 아니고 컴공 기초 숙제 아닌가
해결했습니다. 오타였습니다. column 이 out of index 인지 검사하는 걸 ROW 에 대고 하고 있었네요...