-
https://www.acmicpc.net/problem/1743
https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%201743
해당 문제는 음식물 좌표가 주어졌을 때 가장 큰 음식물의 크기를 구하는 문제다.
해당 문제는 dfs를 이용해서 해결했으며, 먼저 입력 처리를 하면서
문제는 1,1부터 시작하지만 배열을 0,0부터 사용하므로
각 좌표값에 대해서 -1한 값을 넣어주고 이후 음실물 좌표에 해당하는 부분에는
1의 값을 넣어준 뒤 배열을 탐색하면서 아직 방문하지 않았고 음식물이 있는 곳에 대해서
bfs를 돌려준다.
이때 bfs를 돌리기전에 cnt변수를 초기화해주고 bfs가 끝나면 ans와 cnt 중 큰 값을 ans에 저장하는
방식으로 최대 크기를 구해주며, bfs에서는 재귀를 통해 반복하면서 방문할때마다
cnt 값을 증가시키고 상하좌우를 탐색하면서 배열 범위를 벗어나지 않고, 방문하지 않았으며, 음식물인 곳에
대해서만 재귀가 돌아가도록 하였다.
728x90'알고리즘 > Baekjoon' 카테고리의 다른 글
Baekjoon 1913 달팽이 JAVA (0) 2021.12.30 Baekjoon 2665 미로만들기 JAVA (0) 2021.12.29 Baekjoon 10972 다음 순열 JAVA (0) 2021.12.27 Baekjoon 5212 지구 온난화 JAVA (0) 2021.12.26 Baekjoon 14716 현수막 JAVA (0) 2021.12.25 댓글