-
https://www.acmicpc.net/problem/1987
https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%201987
해당 문제는 map가 주어지고 각 좌표마다 영어 알파벳이 주어졌을 때, 0,0에서 시작하여
모두 다 다른 알파벳을 방문하는 경우의수 최댓값을 구하는 문제다.
이동은 상하좌우로만 가능하다.
해당 문제는 DFS를 사용하였고, 알파벳을 사용했는지 bool 배열을 통해 확인해 주고
처음 dfs로 가면 최댓값을 비교해 넣어주고 이후 델타를 통해 이동해 가면서 이동한 곳을 찾으면 해당 알파벳 bool을 true로 바꿔주고 재귀를 통해 계속 진행하고 재귀를 끝마치면 방문했던 부분을 false로 두면서 다시 원점으로 돌아오는 방식으로 해결했다. 카운트 부분은 파라미터로 두어서 따로 초기화할 필요 없이 사용 가능했다.
728x90'알고리즘 > Baekjoon' 카테고리의 다른 글
Baekjoon 2309 일곱 난쟁이 JAVA (0) 2021.11.08 Baekjoon 3109 빵집 JAVA (0) 2021.11.08 Baekjoon 1074 Z JAVA (0) 2021.11.08 Baekjoon 1992 쿼드 트리 JAVA (0) 2021.11.08 Baekjoon 7576 토마토 JAVA (0) 2021.11.08 댓글