셀프로 해결했습니다ㅠ.ㅠ 임의의 반례
8
1 2 3 4 5 6 7 8 을 했더니 답인 2 4 6이 나오지 않더라구요..
틀린 원인은... dfs에서의 초기에 탐색을 멈추는 조건이었습니다.
0번째 인덱스에 대해서는 이미 할당을 해주고 넘어가기 때문에 해당 조건에 대해서는 더이상 탐색하지 않으려고 visited[a]가 true면 return 0을 해줬었는데, 당연히 그러면 a가 0이 아닌 1,2,3인 경우에도 추가적인 탐색을 해주지 않기 때문에 에러가 납니다.
a==0인 경우 return 0으로 변경하고, 그 외의 경우에는 visited[a] ==visitCnt 인 경우에만 return 1을 수행했습니다.
visitCnt로 체크하는 이유는 같은 탐색을 무한루프로 도는 것을 방지하기 위함입니다.
mozzi01331 4년 전
안녕하세요, 인터넷에서 찾을 수 있는 풀이들과 대조해 봤는데도 왜 틀렸는지를 찾기 어려워서 여기에 질문글을 올립니다ㅠ.ㅠ
푸는 로직은 아래와 같습니다.
제가 놓친 부분 혹은 구현하지 못한 부분이 있는 것 같은데 뭔지 모르겠습니다ㅠㅠ... 감사합니다!