inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)

WordSearch

182

QWER

작성한 질문수 5

1

안녕하세요. BFS/DFS 강의를 보면서 궁금한점이 있어서 질문남깁니다!

wordSearch 맨 마지막 부분에,

visited[x][y] = false 로, 원상복귀 시킨다고 하셨는데

이 부분은 어차피 다시 갈 곳이 아닌데 굳이 있어야 하는 코드인가요??

없어도 정상적으로 답이 출력되어서 제가 잘못이해하고있는건지 궁금합니다 ㅜㅜ

코테 준비 같이 해요! java

답변 1

0

푸샵맨 코딩스터디

안녕하세요.

답변이 늦어서 죄송합니다.

앞부분에서   visited[x][y]=true;  넣고 다시 파고들면서 true를 넣고 있습니다. 

dfs는 파고들면서 true를 넣다가 , 왔던길을 다시 돌아갈이 생기죠 

true로 넣었는데 다시 원복을 하고  싶은거죠, 그 경우 때문에  false로 원복을 시키는겁니다.

헷갈리시면 아래 로그를 찍어서 보세요. visited에 해당하는 부분을 추적해 보세요.

이문제 상당히 중요한 문제입니다.

이거 이해하시면  상당히 좋은 결과를 맺으실겁니다.

github에 ㅇ주석으로 업데이트 해놨습니다.

1주일 넘더라도 꼭 이해하세요

 private void print(boolean[][] visited) {

    if(visited==null|| visited.length==0)return;

    int m=visited.length,n=visited[0].length;

    for(int i=0; i<m; i++) {

    for(int j=0; j<n; j++) {

    System.out.print(visited[i][j]+"\t");

    }

    System.out.println();

    }

    }

강의자료에 나오는 m과 n의 범위가 코딩하고 다른거 같습니다

0

254

0

나선형매트릭스 깃허브에 코드가 없는것같아요

0

209

0

로그 파일의 데이터 재정렬 코드가 깃허브에 없어요!

0

223

0

새로 생긴 기초강의 질문드려요

1

375

1

질문드립니다

1

219

1

Unique Paths Integer 질문입니다

0

219

1

subString 방법으로 문제 풀이 영상은 짤린건가요?

1

251

1

DFS 방식으로 푼 것이 맞나요?

0

307

2

질문드립니다~

0

196

1

left if문에 대해서

1

256

1

오타 인가요?

1

237

1

안녕하세요 강사님

1

189

1

질문 드립니다

0

172

2

Queue&Stack 문제해설집 문의

0

183

1

문제분석 로직 질문

1

230

1

시간 복잡도 문의드립니다.

1

231

1

시간복잡도 질문드립니다.

1

201

1

for-each 문 질문있습니다!

0

293

1

강의영상에서 사용된 로그 메소드가 궁금합니다.

2

281

2

강의자료 + 문제 이해 관련 질문입니다

1

278

3

강사님 오류맞나요?

1

206

1

강사님 시간 복잡도에 대해서 질문드립니다.

1

172

1

질문입니다.

1

201

1

문제에 대한 이해

1

313

1