[풀이]
각 알파벳의 좌표를 알파벳을 Key로 하는 HashMap으로 만든다. (r1, c1, r2, c2)
HashMap의 키를 정렬하여 알파벳 순으로 만들고, 정렬된 알파벳 순으로 제거가 가능한지 확인한다(dfs)
dfs를 계속 하면서 알파벳이 모두 완성될 경우 정답처리 -> 빠져나옴 (애초에 알파벳 순으로 찾은 것이기 때문에 조합 중 가장 빠른 순서가 보장됨)
근데 58, 59번 라인에 dfs 빠녀나오고 원복해주는 코드를 주석처리 안하면 실패하는데, 로직 상 필요가 없긴 하지만 있어도 상관은 없어보이는데.. 왜 안되는지 몰겠다.
visited[i] = false;
cBoard[a.r1][a.c1] = cBoard[a.r2][a.c2] = org;