1325번 - 효율적인 해킹
DFS로 풀었습니다.
제가 궁금한 점은
(4,5) - 3 - (1,2) 이런 식으로 그래프가 그려지면 될 것 같다고 생각하구요.
인접리스트로 구현해서
(4,3) (5,3) (3,1) (3,2)
ArrayList aa[앞의 숫자] = 뒤의 숫자 요렇게 했습니다.
제가 짠 코드에서 해당 숫자를 방문하게 되면 visit[숫자] = 1 을 넣어서 방문한 걸 표시해주고,
더이상 방문 안하게 설정해놨습니다.
결과적으로, 1과 2는 해당 메소드를 호출할 수 없고
3부터 호출할텐데 이때 visit[3] = 1을 해줘서 방문한 거를 표시해줍니다.
그런데, 제가 이 코드를 디버깅 하다보니까..
visit[3] =1이었었는데
-> aa[4]에서 3을 호출했더니
visit[3]이 0이어서 메소드를 재귀호출하더라구요.
아예 처음에 Main함수에서 for문이 돌때, i=3이면 3을 방문한걸로 쳤는데
갑자기 visit[3]이 왜 0이 되는지 아시는 분 계시면 답변부탁드립니다
댓글을 작성하려면 로그인해야 합니다.
coding11 3년 전
DFS로 풀었습니다.
제가 궁금한 점은
(4,5) - 3 - (1,2) 이런 식으로 그래프가 그려지면 될 것 같다고 생각하구요.
인접리스트로 구현해서
(4,3) (5,3) (3,1) (3,2)
ArrayList aa[앞의 숫자] = 뒤의 숫자 요렇게 했습니다.
제가 짠 코드에서 해당 숫자를 방문하게 되면 visit[숫자] = 1 을 넣어서 방문한 걸 표시해주고,
더이상 방문 안하게 설정해놨습니다.
결과적으로, 1과 2는 해당 메소드를 호출할 수 없고
3부터 호출할텐데 이때 visit[3] = 1을 해줘서 방문한 거를 표시해줍니다.
그런데, 제가 이 코드를 디버깅 하다보니까..
visit[3] =1이었었는데
-> aa[4]에서 3을 호출했더니
visit[3]이 0이어서 메소드를 재귀호출하더라구요.
아예 처음에 Main함수에서 for문이 돌때, i=3이면 3을 방문한걸로 쳤는데
갑자기 visit[3]이 왜 0이 되는지 아시는 분 계시면 답변부탁드립니다