inflearn logo
강의

Course

Instructor

[Java] DFS Algorithm Understandable Even for Liberal Arts Students! - Introductory Edition

Number of connected elements (Baekjoon 11724)

안녕하세요 11724번 질문드려요!

Resolved

318

javabase

8 asked

2

java 코딩-테스트 알고리즘 dfs

Answer 1

2

gaebaljob

이정우님 안녕하세요 🙂

작성해주신 코드는 99% 정답인데 딱 하나 잘못된 것 같습니다!

for (int i = 1; i <= N; i++) {
     if (!visited[idx] && graph[idx][i]) {
         dfs(i);
    }
}

DFS 함수 내부에서 다음 DFS를 재귀적으로 호출하는 이 부분에서 첫 번째 조건이 잘못되었습니다.

반복문위에서 visited[idx] = true라고 값을 담아주고, 조건문에서 !visited[idx]를 보고 있기 때문에 재귀 호출이 절대 이뤄지지 않는 코드가 됐습니다.

원래 의도했던 것은 "다음 노드를 방문한 적이 없는지"를 확인하고 싶었던 것이기 때문에 !visited[i]를 확인하도록 다음과 같이 수정하면 정답이 나올 거에요!

for (int i = 1; i <= N; i++) {
     if (!visited[i] && graph[idx][i]) {
         dfs(i);
    }
}   

이 외에도 혹시 궁금한 점이 있으면 알려주세요! 공부 화이팅하세요 :)

1

javabase

앗.. 제가 저 부분을 놓쳤습니다.. ㅠㅠ 왜 제가 봤을 때는 안보였는지 정말 감사합니다! 즐겁게 잘 듣고 있어요!

dfs 부문을 이렇게 작성해도 되나요?

1

78

1

x랑 y를 거꾸로 쓰는 개념이 너무 헷갈립니다...

1

101

2

dfs 파라미터에 count를 넣는이유

1

68

2

graph 채울때 for문 설계 질문

1

77

2

질문있습니다.

1

76

1

다른 강의 언제나오나용?

1

97

2

노드간 거리 계산

1

150

1

안녕하세요, 혹시 다른문제도 여쭤볼 수 있을까요?

1

132

1

최근에 올린 질문, 코드블럭으로 공유드립니다!

1

144

1

질문이 있습니다. dfs 메서드에 order를 이렇게 구현하면 안되는 이유가 무엇인가요?

0

136

2

깊이우선탐색2 백준 24480 수업노트에...

1

122

1

백준 24479 문제 제출 결과 "틀렸습니다" 라고만 나와서 어떤 부분이 틀렸는지 잘 모르겠어요 피드백 부탁드립니다

1

253

3

graph 만들때 boolean[][] 으로 만드는 경우랑 int[][] 나 ArrayList<Integer>[] 로 만드는 기준이 어떻게 되나요?

1

203

2

graph를 2차원 배열 또는 List로 하는 기준을 어떤식으로 잡으면 좋을까요...?

1

227

1

강사님 안녕하세요! 깊이 우선 탐색 2 (백준 24480)에서 제공하는 풀이 코드에서 궁금한 점이 있어서 질문 드립니다!

1

333

3

촌수 계산

1

358

3

연결 요소의 개수 (백준 11724)

1

269

1

백준 24479 문제 시간 초과 질문 드려요

1

387

1

백준 실행시 틀립니다.

1

376

1

재귀대신 스택으로 구현하면 안될까요?

1

414

1

dfs 매개변수에서 y,x 를 왜 순서를 반대로 쓰셨는지 궁금합니다.

1

376

1

출력할 때 BufferedWriter? StringBuilder?

1

515

1

answer++ 위치 질문

1

260

1

code의 어디가 잘못된지 도저히 모르겠습니다..

1

276

1