개발자
먼저 input 값은 n = 3, edges = [[0,1],[1,2],[2,0]], source = 2, destination = 2 입니다. 저 코드 그대로 idle에서 print(dfs)하면 True가 나오는데 leetcode에서 돌리면 False가 나옵니다.. 왜 그러는지 알 수 있을까요? ㅠㅠㅠ
답변 1
제가 파이썬을 해보진 않아서 잘은 모르겠습니다만. 요런 부분이 문제될 수 있을듯 합니다. dictionary 를 생성할때 collections.defaultdic(list)로 하셨기 때문에 딕셔너리의 value에는 list가 들어갑니다. 즉 discovered.append 할때 i 가 int가 아니라 list라는 소리지요 근데, if y in discovered 할 때 discovered에는 리스트 즉 [[0], [1], [2]] 형태로 되어있어서 int 값인 y와 맞지 않아서 false가 난것으로 예측됩니다. 따라서 collection.defaultdic(int)로 바꾸고 딕셔너리 세팅부분도 dic[v[0]] = v[1] 로 바꾸시면 되지 않을까 생각해봅니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!