inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

1) 섬의 수(NumberOfIsland)_DFS_문제설명

NumberOfIsland_ DFS

243

wjsehgus1014

작성한 질문수 9

2

void merge(char[][] grid, int i, int j) {

// System.out.println("==merge=====  i: " + i + " y: " + j);

// if (i < 0 || i >= m || j < 0 || j >= n || grid[i][j] != '1')

// return;

// grid[i][j] = 'X';

// for(int[] dir: dirs) {

// merge(grid, i+dir[0], j+dir[1]);

// }

//

// merge(grid, i - 1, j);

// merge(grid, i + 1, j);

// merge(grid, i, j + 1);

// merge(grid, i, j - 1);

// }

NumberOfIsland_ DFS문제에서 

이부분이 이해가안됩니다 특히 merge(grid,i+dir[0],dir[1]+j)

가 여러방향 훑는거라는 느낌은 들었는데 왜 인덱스 0과 1인지 과정이 궁금해서 질문남깁니다!

java 코테 준비 같이 해요!

답변 1

0

푸샵맨 코딩스터디

안녕하세요. 답변이 늦어 죄송합니다.

dfs는 정말 많이 물어보는 개념이죠 . 거의 외우다시피 하셔야하겠죠.

1) 질문주신

이부분이 이해가안됩니다 특히 merge(grid,i+dir[0],dir[1]+j) 가 여러방향 훑는거라는 느낌은 들었는데 왜 인덱스 0과 1인지 과정이 궁금해서 질문남깁니다!

merge(grid, i-1, j);

merge(grid, i+1, j);

merge(grid, i, j+1);

merge(grid, i, j-1);

for(int[] dir: dirs) {

merge(grid, i+dir[0], j+dir[1]);

}

은 같은 개념입니다.

즉 (0,0) 좌표를 사방으로 돌리기 시작하면

int[][] dirs= {{0,1},{0,-1},{1,0},{-1,0}}; 에서

int[] dir {0,1}을 만나면 (0,0) -> (0,1) 이 되고

int[] dir {0,-1}을 만나면 (0,0) -> (0,-1) 이 되고

int[] dir {1,0}을 만나면 (0,0) -> (1,0) 이 되고

int[] dir {-1,0}을 만나면 (0,0) -> (-1,0) 이 되고

이렇게 사방으로 체크하는 의미입니다.

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

0

255

0

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

0

210

0

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

0

225

0

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

1

376

1

질문드립니다

1

220

1

Unique Paths Integer 질문입니다

0

220

1

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

1

253

1

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

0

310

2

질문드립니다~

0

197

1

left if문에 대해서

1

257

1

오타 인가요?

1

238

1

안녕하세요 강사님

1

190

1

질문 드립니다

0

173

2

Queue&Stack 문제해설집 문의

0

184

1

문제분석 로직 질문

1

231

1

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

1

233

1

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

1

203

1

for-each 문 질문있습니다!

0

295

1

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

2

282

2

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

1

279

3

강사님 오류맞나요?

1

208

1

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

1

174

1

질문입니다.

1

203

1

문제에 대한 이해

1

314

1