왜 wrong answer인지 모르겠습니다
여러 경우 집어넣어봤는데 다 조건에 맞게 출력됩니다. 어떤 게 문제인 건가요?
여러 경우 집어넣어봤을 때 나온 답이 진짜 조건에 맞게 출력되는지 다시 확인해보세요
3492 0 0 0 0 0 0 0 0 3
7299 6 0 0 0 4 0 1 0 5
10044 0 0 1 0 0 0 2 0 7
3897 3 0 4 9 2 0 0 0 1
8181 0 0 0 0 0 0 0 0 9
8955 0 0 0 0 0 0 5 0 6
5841 4 0 0 6 8 0 0 0 2
1674 1 0 0 0 0 4 0 0 8
6102 0 8 0 0 0 0 0 7 4
입력했을 때 답이 Sample Output과 똑같이 나와야 합니다.
자세히 살펴보니 샘플과 맞지 않는 숫자가 있네요. 감사합니다.
순수한 호기심 때문에 이 문제를 풀어내고 싶은데, 코드에 어느 부분이 문제인지 잘 모르겠습니다. 혹시 힌트를 주실 수 있나요?
linecheck를 x==8일 때만 하고 계신데, 그렇게 하면 맨 오른쪽이 빈칸이 아닌 경우 linecheck가 되지 않습니다!
if (x == 8) {
x = 0;
y--;
}
위 내용을 추가하여 y축(?) 상으로도 거슬러서 백트래킹 할 수 있게 하였더니 Sample Output과 똑같이 나옵니다. 그런데도 wrong answer이라고 뜨네요...원인이 무엇일까요?
linecheck를 x==8일 때만 하고 계신데, 그렇게 하면 맨 오른쪽이 빈칸이 아닌 경우 linecheck가 되지 않습니다!
이 부분에 맞게 수정했더니 wrong answer는 더 이상 뜨지 않네요...! 그런데 runtime error가 뜹니다ㅠㅠ 이건 원인이 무엇일까요...고생해주셔서 감사하고 죄송합니다ㅠㅠ
y==0, x==8일 때 y--하고 solveSudoku(y, x) 하다가 sudoku[-1][x] 이 들어갈 거같이 생겼군요
line check를 빈 칸 있으면 1, 빈 칸 없을 때 triple sum과 일치하면 1, 빈 칸이 없는데 triple sum도 아니면 0을 return 하게 만들어서
sameColumn 등등 확인하는 부분에서 같이 확인해보는 건 어떨까요?
끝없이 수정하다가 결국 Accepted 됐습니다 도와주셔서 너무 감사합니다ㅠㅠㅠㅠ 뿌듯하네요...