티스토리 뷰
풀이
9X9인 크기이므로 for문을 통해 0인 부분인 경우, 그 좌표의 행, 열을 검색하여 사용되지 않은 숫자를 확인한다.
그리고 바로 사용되지않은 숫자를 해당 3X3에 해당하는 부분에 채워넣는다. 여기서 사전순으로 입력하여야 하는데, 사용되지 않는 숫자를 for문으로 차례대로 검색해서 집어넣으면 자연스럽게 사전순으로 들어가게 된다.
하지만 값을 입력한 후, 다른 3X3에서 이전에 입력한 값이 틀렸다는 것을 알기위해 백트래킹이 사용되었다.
값을 집어넣을 숫자가 없으면 자연스럽게 이전에 넣은 숫자중에 잘못된 입력이 있다는 뜻이고 배로 return을 하게 해주었다.
탈출조건으로는 맨 마지막 행,열 에 도착하면 탈출하도록 해야하지만, 아직 빈칸이 존재할 수 있으므로 빈칸이 존재하는지 확인하는 함수를 실행해서 boolean형 전역변수에 넣어주고 그 전역변수를 확인해서 비어있는 공간이 있는지, 없는지 를 확인해서 없으면 출력후 프로그램은 종료시킨다.
코드
'알고리즘' 카테고리의 다른 글
<SWEA> 규영이와 인영이의 카드게임 (0) | 2020.12.03 |
---|---|
<SWEA> 8382 방향전환 (0) | 2020.12.02 |
<baekjoon> 나무재테크 (0) | 2020.11.03 |
<baekjoon> 치즈 (0) | 2020.11.01 |
<baekjoon> 뱀 (0) | 2020.10.30 |