inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편

침투 (백준 13565)

침투 (백준 13565) 문제중 질문입니당

해결된 질문

300

락곤

작성한 질문수 13

1

아래 코드에서 왜
DFS를 수행할때 MAP[1] 이 왜 고정인지 잘모르겠습니다...

 

//맵정보 저장
for (int i = 1; i <= N; i++) {
    String str = br.readLine();
    for (int j = 1; j <= M; j++) {
        map[i][j] = (str.charAt(j - 1) == '0' ? true : false);
    }
}

//dfs
for (int j = 1; j <= M; j++) {
    if (map[1][j]) {          // 왜 map[1][j] 일까요
        dfs(1, j);           //  또한 dfs도왜 1,j 일가요
    }
}

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

답변 1

1

개발자로 취직하기

안녕하세요 락곤님 :)

1로 고정되는 이유는 첫번째 값이 행을 의미하는 값이고, 문제에서 요구하기로 "1번 행에 있는 점 중 하나에서 출발해서 마지막 행에 도달할 수 있냐" 였기 때문입니다.

그래서 1번 행에서 침투가능한 모든 점에서 dfs를 태워보고, 이중 하나라도 마지막 행에 도달할 수 있으면 침투가 가능하다고 판단하는 것이 문제에서 기대한 동작이라서, 1번 행은 고정시켜놓고, 1번의 모든 열에서 침투 가능한 위치에서 침투를 시켜본다라고 이해하시면 될것 같아요!

위 내용 보시고도 불명확한 부분 있으몀 추가 댓글 남겨주세요!

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

1

71

1

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

1

94

2

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

1

62

2

graph 채울때 for문 설계 질문

1

71

2

질문있습니다.

1

71

1

다른 강의 언제나오나용?

1

92

2

노드간 거리 계산

1

145

1

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

1

130

1

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

1

143

1

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

0

133

2

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

1

115

1

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

1

249

3

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

1

201

2

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

1

224

1

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

1

325

3

촌수 계산

1

354

3

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

1

267

1

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

1

382

1

백준 실행시 틀립니다.

1

372

1

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

1

408

1

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

1

370

1

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

2

313

1

출력할 때 BufferedWriter? StringBuilder?

1

508

1

answer++ 위치 질문

1

254

1