풀이 이 문제는 DFS를 이용하여 풀이하였습니다. 1. 입력을 받을 때 봉우리의 높이를 알아야 하므로 max 변수를 이용하여 봉우리의 위치를 찾아주었습니다. 2. 문제에서 등산로는 가장 높은 봉우리에서 시작한다고 하였으므로 ArrayList를 이용하여 시작점이 될 수 있는 봉우리의 위치를 start 리스트에 저장해주었습니다. 3. start 리스트에 있는 사이즈만큼 각 봉우리의 위치에서 DFS를 실행하였습니다. 이때, 인자로는 ( i, j, 지형을 깎을 수 있는지 여부, 현재까지 등산로의 길이, 현재 높이 )로 설정해주었습니다. 4. 이후 dfs 함수에서 공사를 진행할 기회가 남아 있을 때 ( cut == 1 )와 더 이상 공사를 진행할 수 없을 때 ( cut == 0 ) 으로 나누어주었습니다. 5. D..