Community

[Python] 재귀를 이용한 2개의 DFS 코드 차이점을 모르겠습니다.

안녕하세요! 백준 13023번 - ABCDE 번을 파이썬으로 풀다가 이해가 되지 않는 부분이 있어서 조심스레 질문을 남깁니다. 위의 코드와 아래 코드의 차이는 visited와 dfs를 더 깊게 탈 때, 방문배열을 체크하고 해지하는 방식의 차이가 있습니다. 제가 생각하기에는 위의 코드가 dfs 함수에 들어가자마자 visited[x] =True 를 하니깐, 굳이 밑의 코드의 visited[i] = True dfs(i, level + 1) visited[i] = False 이 부분과 같이 할 필요가 없다고 생각했습니다. 하지만 위의 코드를 사용한 것은 오답이고, 아래 코드는 정답이라 둘의 코드의 차이가 있는지 궁금합니다. 제가 생각하기엔 두 코드가 동일하게 작동한다고 생각했습니다. 혹시 어떤 부분에서 차이가 있는지 알려주실 수 있을까요? 혹시나 해서 맨 밑에, 제가 제출했는데 틀린 코드를 적어놓겠습니다!

Loading...

알림

알림이 없습니다