sihyun93   4년 전

안녕하세요... 고수님들 가르침 받고자 질문 올립니다.

저는 이 문제를  버튼을 10번 눌러보는 모든 경우의수를 체크하는 bruteforce 방식으로 해결을 했는데요.

그 과정에서 visited 배열을 써서 중복되는것을 막아 시간을 단축하고자 했습니다. (오른쪽 버튼을 누르고 바로 왼쪽 버튼을 누르는것 같은 행위는 의미가 없으니까요)

근데 계속 오답이 나와서 visited로 중복을 체크해 주는 부분(line 15번과 40번)을 없애니까 통과하네요..

혹시 같은 점을 또 방문해야 하는 경우가 있나요..?

질문 읽어주셔서 감사합니다. 답변 기다리고 있겠습니다!

sait2000   4년 전

dfs는 어떤 상태에 최단거리로 도착한다는 보장이 없습니다. 예를 들어 지금처럼이면 아래 오른쪽 위로 움직이는 경우를 오른쪽으로 움직이는 경우보다 먼저 탐색할 거 같네요. 만약에 그렇게 움직인 결과가 같다면 오른쪽으로 움직이는 경우는 두 번 덜 움직이니까 나중에 두 번 더 움직일 수 있는데도 visited가 표시돼있어서 탐색을 안 하게 됩니다.

sihyun93   4년 전

아 그렇군요....하루종일 고민했는데 바보같네욬ㅋㅋㅋ

 감사합니다  좋은하루 보내세요!

댓글을 작성하려면 로그인해야 합니다.