본문 바로가기
Algorithm

스도쿠 풀이 알고리즘 (Back tracking method x, 초보자도 쉽게 따라할 수 있는 풀이)

by 루껍 2022. 7. 29.
반응형

우연히 스도쿠 풀이 알고리즘에 대해 접하게 되었습니다.

 

저는 전공자도 아니고, 코딩이라고는 관측 데이터를 가시화하거나 수치계산의 맛보기만 봤었던지라..

얕은 지식으로 프로그램을 구현했음을 미리 알려드립니다.

 

제가 스도쿠 풀이 알고리즘에 대해서 서치를 하는 과정에서 가장 많이 볼 수 있었던 키워드는 'back tracking' 이었습니다.

아마 이 포스팅을 보시는 분들도 대부분 같을 것이라 생각합니다.

 

back tracking method에 대해서 깊게 알아본 것은 아니지만, 설명 중에 언급되는 생소한 단어들에.. '한번 내가 알고 있는 지식과 기술로 한번 구현해보자! 라는 생각으로 시작했습니다.

 

처음에 생각했던 방법은 python의 sympy 라이브러리를 활용하여, 스도쿠 빈칸에 미지수를 할당한 뒤, 연립방정식을 푸는 것이었습니다.

 

열심히 코드를 작성했지만.. 마지막 단계에서 연립방적식을 풀기위한 방정식의 수가 부족하다는 것을 깨닫고, 바로 다른 방법을 생각하기 시작합니다ㅋㅋ

 

결론적으로, 제가 구현한 코드에서의 키워드는 '새로운 후보군 데이터 생성'입니다.

 

자세한 코드는 아래의 github 링크에서 보실 수 있습니다. (해당 코드는 python으로 작성되었습니다.)

 

https://github.com/Hyung-code/project1-Sudoku

 

GitHub - Hyung-code/project1-Sudoku

Contribute to Hyung-code/project1-Sudoku development by creating an account on GitHub.

github.com

 

제 코드가 조금이라도 도움이 되었으면 하는 바이며, 코딩고수분들의 솔직한 조언 부탁드립니다!

 

 

감사합니다.

 

 

 

반응형

댓글