알고리즘 공부

[백준 2468번] 안전 영역 - java

철매존 2021. 8. 5. 17:15
728x90
반응형

문제 설명

1. 맵의 크기 n과 각각의 지역을 입력받는다.

2. 건물의 높이들에 대해 비가 아예 안오거나 건물만큼 온다.

3. 비가 건물의 높이만큼 오면 침수된다.

3. 침수되지 않은 건물의 영역을 구해서, 이 영역의 '개수'가 최대가 되게 return하면 된다.

풀이 과정

 1. 이전 게시글의 섬의 개수와 거의 비슷한 로직이다.

 2. main에서 for문이 돌 때를 새로운 안전 영역을 찾는 기준으로 두고 이 때마다 개수를 늘린다.

 3. dfs안에서는 방문했던 장소인 것을 체크해 주고 그것을 기준으로 방문하지 않은 다른 안전 영역을 찾아가면 된다.

 4. 쭉 구하면 답이 나온다.

 5. 주의해야 할 점으로, 비가 아예 오지 않는 경우를 꼭 생각해 주어야 한다.

 

코드

반응형