스도쿠 풀어주는 프로그램 공개

스도쿠를 풀 때마다 이걸 컴퓨터로 풀어보고 싶었다.
이미 유사한 프로그램들이 많이 나와있지만, 직접 만들어보는 것이랑은 다르니...

그래서 한번 만들어봤다.

혼자 열나게 문제를 푸는 중...


이 프로그램의 기능은 아래와 같다.

1. 주어진 값을 기준으로 문제 풀기
2. 지정된 갯수 만큼 숫자가 남는 문제 생성
3. 저장되어있는 예제 보여주기(3개)
4. 풀이를 파일로 저장


기본적인 알고리즘은 아래와 같다.

1. 27개의 각 칸에 9개(1~9)의 BOOL 배열 생성, true로 설정
2. fixed 된 전 셀에 대해 같은 행, 같은 열, 같은 3x3 칸에서 fixed된 값에 대해 false로 지정
3. 각 행, 각 열, 각 3x3 칸에서 가능한 후보 숫자 중 유일한 것이 있으면 이 값을 fixed 값으로 수정
4. 더 이상 진행할 수 없을 때까지 2-3 반복
5. 27개의 각 칸에 남아있는 후보군 숫자를 일일이 대입

프로그램은 아래 링크에서 다운받을 수 있다.


덧. 위키피디아에 올라와있는 스도쿠의 예제를 보면 답이 2개로 나와있는데, 둘 중 앞의 것만 맞다.
뒤의 것은 5번째 열에 5가 2개고, 3이 없다.
(편집해놓았는데, 아직은 반영이 안된 듯)

위키의 예제를 직접 풀어본 것


Trackback 1 Comment 7
  1. Favicon of http://oborodokio.textcube.com BlogIcon OborodokiO 2010.04.16 01:38 address edit & delete reply

    우와!! 이런것도 있군요. 시간은 남는데 뭔가 할일은 없을때 핸드폰을 거내서 스도쿠를 풀지요ㅎㅎ
    이거 같다가 몇문제 만들어서 조카들에게 뿌려야 겠어요.ㅎㅎㅎ

    • Favicon of http://zockr.tistory.com BlogIcon BLUEnLIVE 2010.04.16 02:04 address edit & delete

      나름 시간이 잘 가는 놀이인데, 이번엔 아예 프로그램을 만드는 걸로 시간을 보냈습니다. ㅎㅎ

  2. Favicon of http://minimonk.tistory.com BlogIcon 구차니 2010.04.16 09:55 address edit & delete reply

    일하러 가신분이!!! -ㅁ-!! ㅋㅋ
    그나저나.. 저는 그냥 핸드폰에 게임 두가지 있는데
    수도쿠는 귀찮고.. 그냥 밍글맹글이나 한다죠(헥사)

    • Favicon of http://zockr.tistory.com BlogIcon BLUEnLIVE 2010.04.16 22:36 address edit & delete

      업무역량을 키우기 위해 알고리즘 공부중... ㅎㅎ

  3. Favicon of http://terminee.tistory.com BlogIcon terminee 2010.04.16 15:08 address edit & delete reply

    스도쿠... 군대에서 말년에 참 많이 했는데 실력은 별로 늘지 않더군요. 크
    재미있는 걸 만드셨네요. ^^
    이 프로그램은 국산인가요 독일산인가요.

    • Favicon of http://zockr.tistory.com BlogIcon BLUEnLIVE 2010.04.16 22:36 address edit & delete

      흠흠... 생각해보니 독일산이군요. 헤헤

  4. Favicon of http://zfanta.com BlogIcon 환타 2010.04.17 20:51 address edit & delete reply

    스도쿠 재밌죠 ㅋㅋ