inflearn logo
강의

講義

知識共有

コーディングテストの前に知っておくべき概念と問題(with Java)

島の最大面積BFS

면적을 구하는 res를 for문 내에 있는 if문 안에 넣으면 되지 않나요?

解決済みの質問

312

devJR

投稿した質問数 3

1

- 안녕하세요 선생님

강의 잘 듣고 있습니다^-^

덕분에 코테는 벌벌 떨던 제가 BFS랑 DFS에 대해서 이런거였어? 싶을 정도로 쉽게 이해하고 있는 중입니다

감사합니다 ㅎㅎ

 

다름이 아니라 9:03 초에서 res를 while문 안에 작성하셨는데요

그렇게 되면 큐에 들어온 녀석 갯수만큼 추가 되면서

선생님이 뒤에 말씀하신 것처럼 최초 진입 시점의 갯수도

포함하게 되어서 최초 진입시점에도

grid[x][y] = 0 값을 넣게 되는데요

 

애초에 들어오고 나서 for문 내의 if문에서 방문했다(visited)라고 하는 조건 내에서 면적을 추가 시켜 주면

그러한 작업이 필요 없을 거 같아서요

 

아래 예시인데요..

일단 값은 잘 나오는 지 테스트 해봤는데

이 부분은 어떻게 생각하시는지 궁금합니닷

(혹시 틀렸다면 알려주세요 ㅠㅜ..)

 private int bfs(int[][] grid, int x, int y) {
        Queue<int[]> queue = new LinkedList<>();
        queue.offer(new int[] {x, y});  //0, 0
        int area = 0;
        while (!queue.isEmpty()) {
            int[] point = queue.poll();
            for (int[] dir : dirs) {
                int findX = point[0] + dir[0];
                int findY = point[1] + dir[1];
                if (findX >= 0 && findY >= 0 && findX < m && findY < n
                        && grid[findX][findY] == 1) {
                    grid[findX][findY] = 0;
                    queue.offer(new int[] {findX, findY});
                    area++;
                }
            }
        }

        return area;
    }

java 코테 준비 같이 해요!

回答 1

1

pushupman

devJR 안녕하세요~~!!

 

네 맞습니다. 좋은 의견 주셔서 감사합니다.

area++를 아래 적어주신것처럼 에러 체크 조건안에 넣어두면 더 확실합니다. 

실제 코딩시험에서는 변형해서 문제를 내죠.  devJR 처럼 확실히 생각한것을 코딩하는게 정답이죠

요새 코딩시험은 외워서 하는게 거의 불가능하고 조금씩 변경하기 때문에 코딩할때 항상 

기준을 잡고 코딩하시면 되겠씁니다

감사합니다~~

 

 if (findX >= 0 && findY >= 0 && findX < m && findY < n
                        && grid[findX][findY] == 1) {
                    grid[findX][findY] = 0;
                    queue.offer(new int[] {findX, findY});
                    area++;
                }

 

질문 드립니다!

1

249

1

PriorityQueue

1

337

1

강의에 있는 자료구조만 공부하면 되나요??

1

231

1

bfs, dfs 강의 자료

1

244

1

문제가 이해가 안가요

1

325

1

만약 문자열이 매칭되는 조건("arrest", "test")이 문자열의 인덱스 기준 뒤에서부터 발생하면 어떻게 풀어야할까요?

2

436

1

그림이 잘 이해되지 않습니다.

1

184

1

어떤 문제인지에 대한 설명이 없어서 이해가 안가네요;;

1

302

3

강사님 문제가 잘 이해가 안가요

3

182

1

merge함수 질문 있습니다.

1

227

1

dp 강의자료 어딧어요??

1

380

2

응용문제4) DFS 응용문제 질문이요!

1

163

1

Dp HouseRobber 질문

1

224

1

DP 1분 간단 영상이 보이지 않습니다.

1

286

1

스택 문제 영상이 추가적으로 들어갔습니다.

1

159

1

list 질문입니다

2

191

1

DP문제 문의

1

238

2

Comparator 질문입니다.

1

470

2

안녕하세요. 질문입니다.

1

264

1

BFS 게임 맵 최단거리 문의

1

330

3

코딩테스트 처음 입문 했는데 질문이 있습니다.

1

156

1

안녕하세요. 수강생입니다. 이 강의만 전부 소스 보낼 수 있을까요?

1

160

1

추가 강의 문의.

1

369

3

개념 설명이 잘못나온거 같습니다.

1

160

1