
[Algorithm] 백준_안전 영역_2648번 (JAVA)

·
Algorithm
📝문제https://www.acmicpc.net/problem/2468티어 : 실버1 💡풀이 문제 유형dfs 걸린 시간37분 시간 복잡도O(N^2)최악의 경우 -> O(100*100*100) => 1000000번의 연산 => 1초 안에 ok 풀이 방법 도출구역 나누기 => dfs로 풀이 가능h를 증가시키면서 가장 큰 값이 나오는 경우를 저장해 두는 방법을 사용했다.h=0으로 두고 while 반복문을 돌린다.이때 구역의 수를 count로 두고 count가 0이 되면 반복문을 빠져나온다. => 모든 위치를 다 방문함현재 위치의 높이가 h보다 높거나 같고, 방문하지 않은 위치라면 dfs를 돌려 현재 위치부터 사면을 검사해 방문을 체크해 준다.정답 max와 count 중 더 큰 값을 max에 저장하고 답을..