
풀이 과정
1. 보드를 2차원 배열의 맵 형식이 아닌 스트링 문자열로 받아온다.
2. 단, H와 T가 아닌 0과 1로 변환해서 비트 마스킹을 적용한다.
3. 보드는 3*3으로 정해져있음 그러므로 0,1이 나올 수 있는 경우의 수는 0~511로 총 512개이다.
4. 이 경우의 수로 방문처리를 해야한다.
5. 스트링 문자열로 바꾼 동전의 리스트를 2진수에서 10진수로 변환하여 큐에 넣는다(최초로 queue에 넣음)
6. 마찬가지로 이것을 방문처리한다.
7. queue를 while문에 돌린다.
8. 방문처리 안되어 있고, 행/열/대각선 중에 한 줄씩 넣어본다.
9. 큐에 append하고 방문처리를 한다.
10. while 제일 위에 종료 조건을 추가한다.
11. 종료 조건은 십진수로 변환한 값이 0(모든 문자가 H)이거나 511(모든 문자가 T)일 경우다.
12. 모든 queue가 다 돌고 난 후에는 return -1을 한다.