Lock의 약 3배크기의 그리드를 준비한다. Lock을 그리드의 중앙으로 복사한다. Key값을 각각의 Lock의 꼭짓점부터 순회한다. 더불어 Key를 회전(rotate)시키면서 탐색한다. 탐색할시에 Lock위치에 해당하는 인덱스의 값이 모두 1이어야 Lock이 딱 맞는걸로 판별된다. 위의 그림처럼 키의값이 겹치면 1이 아닌것을 return하게 된다. dfs방식 : boolean isOk값을 true냐 false냐로 판단한다. public void dfs(int[][]key, int [][] lock, int cnt) { check(key, lock, 0, 0); if(isOk) return; if(cnt >= 4) return; int[][] temp = rotate(key);//키회전시킨걸로 탐색 df..