알파벳

    백준 1987 파이썬 풀이 (알파벳, DFS)

    기존에 DFS,BFS문제는 주어진 미로에서 가장 짧은 길을 찾거나 걸리는 시간을 주로 구했다. 그런데 이번 문제는 미로가 아닌 각 칸에 알파벳이 주어질때 가장 멀리까지 가는 경우 몇칸이나 지나갈 수 있는지 구하는 것이다. 기존과 달리 모든 경우를 살펴보아야 구할 수 있다. 1. DFS로 각 칸은 상하좌우 확인한다. 2. 이때까지 지나온 알파벳과 중복되지 않으면 갈 수 있다.(즉, 해당 경로 혹은 지나왔는지 체크가 되어 있어야 한다.) 이렇게 2가지 조건을 통해 코딩을 진행했다. r, c = map(int, input().split()) M = [] for i in range(r): tmp = list(input()) M.append(tmp) alpha = [0]*26 alpha[ord(M[0][0])-6..