알고리즘 공부

[백준 4963번] 섬의 개수 - java

철매존 2021. 8. 4. 22:34
728x90
반응형

문제 설명

1. 각각 테스트 케이스에서 섬의 크기를 입력받는데, 섬의 크기가 0, 0이면 종료되며 그 이전까지는 계속 입력받는다.

2. 해당 섬의 크기에 맞춰 1은 육지, 0은 바다로 지도를 만들어낸다.

3. 각 땅에서 상하좌우대각선 총 7방향으로 땅이 있으면 이동할 수 있다. 

3. 모든 테스트 케이스에 맞춰 총 섬의 개수를 return하면 된다.

풀이 과정

 1. 지뢰찾기와 비슷한 로직이다.

 2. 현재 위치를 기준으로 dfs를 사용하면 된다.

 3. 현재 위치 주변 7방향을 탐색하며 check해 주고, 물이면 나가고 땅이면 다시 dfs를 시도한다.

 4. for문을 돌려서 check하지 않은 땅들을 기준으로 값을 받아오면 된다.

 

코드

 

반응형