일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Java
- Algorithm
- 프로그래머스
- intent
- 백준
- vscode
- mysql
- Jenknis
- 16197
- IntelliJ
- 제어반전
- Android
- broadcastreceiver
- 데이터전달
- 알고리즘
- 두 동전
- 큐빙
- 17837
- activity
- insert
- 데이터
- service
- github
- 단축키
- spring
- goland
- ubuntu
- data
- 안드로이드
- git
- Today
- Total
해보자
[Sudoku] 스도쿠를 재미있게 풀어보자 (feat:종이와 펜) 본문
글을 쓰기에 앞서 인터넷에서 잠깐 스도쿠의 유래를 찾아봤는데, 스위스 수학자인 오일러의 '마술 사각형(가로 세로 대각선 어느 방향이든 다른 숫자)' 에서 유래했다고 한다. 마술 사각형.. 참 귀여운 이름인 것 같다.
요즘에는 스도쿠를 어디서든 쉽게 풀어볼 수 있다. 누구나 스마트폰 앱스토어에 스도쿠를 검색하면 굉장히 많은 스도쿠 게임이 등록되어있는 것을 확인할 수 있다. 같은 게임이지만, 이 앱들은 각각 동일한 기능을 제공하고 있지는 않다. 예를 들어, 숫자를 클릭했을 때 가로 세로로 해당 숫자가 미치는 영향의 범위를 시각적으로 보여준다던지.. 힌트 기능이 있다던지... 일일 도전과제가 있다던지...
사실 최근에는 앱으로 스도쿠를 풀어본적이 없어서 잘 모르겠다. 옛날에 사용했던 앱들을 떠올려보며 나열해보았다. 조금 티났을 것 같아서 늦게나마 고백해본다.
스마트폰으로 푸는 것도 재밌지만..
지금부터는 종이 위에 푸는 퍼즐의 재미를 알려드리고 싶다.
나는 보누스 출판사에서 나온 멘사 스도쿠 챌린지를 풀고 있다. 원래는 특급미디어에서 발행한 책을 사서 풀었었는데 얇은 잡지다보니 이제는 많이 낡았다. 그걸 본 우리 언니는 혹사당하는 잡지책이 안타까웠는지 내게 퍼즐책들을 선물해주었다.
이 책은 가벼운 편이고 종이 재질은 살짝 시험지에 풀고 있는것 같은 느낌이 든다. 나는 약간 거칠게 쓰는 편인데(지우개를 안쓰니까 글자 위에 글자를 쓴다고 종이에 무리를 많이 주는 편) 뒷장에 글자가 많이 비치거나 종이가 찢어지거나 하지 않는 점이 마음에 든다.
퍼즐은 총 300문제가 들어있고 중간 중간에 스도쿠 풀이 방법이나 역사 같은 것도 나와있다.
겉표지를 읽어보니 X윙, XYZ윙, 스퀌백, 이중워치 이중값 그래프, 소드피시, 젤리피시, 터포트피시, 고도니언 로직 등 혁명적인 스도쿠 해법 29가지를 제시하고 있다고한다...
나는 이런 구체적인 기술 이름도.. 방법도 잘 모른다.. 나중에 갑자기 스도쿠를 잘푸는 사람이 되고싶어진다면 한번 들여다봐야겠다.
그럼 이제. "종이에 스도쿠를 풀면 이런 것도 할 수 있어요"를 소개해드리는 마음으로 시작해보겠다.
가벼운 마음으로 읽어주시기를 바란다.
멘사 스도쿠 챌린지에서 문제 하나를 가져왔다.
첫 시작으로는 점찍은 숫자를 기준으로 마음의 선을 긋는다. 여기서 예시로는 3을 점찍었다.
경계선에 포함되지 않는 자리에 3을 넣어주었다. 그리고 나는 큰 사각형에 같은 숫자가 후보숫자로 붙어있으면 동그라미에 가둬서 연결고리를 만들어준다.
「연결 고리」... 사실 이게 내가 하는 전부다.
같은 방법으로 쭈루룩 진행해보았다. 대략 이런 모양새가 된다.
3개가 연결되어있으면 <6-6-6>, 2개가 연결되어있으면 동그라미-동그라미. 이렇게 묶어놓으면 나중에 동일한 라인과 큰 상자 내에서 비교할 때 빠른 속도로 체킹할 수 있는 힘을 준다.
나중에 풀면서 발견한거라 조금 부끄럽지만.. 7번째 큰 사각형 ( 위에서 세번째, 왼쪽에서 첫번째 ) 들어있는 9-9를 연결하는 고리는 잘못 그렸다. 1번째 큰 사각형에 있는 9를 미처 보지 못했다. 다른 9들에 시선을 빼앗겼었나보다.
파란색 표시된 부분처럼 큰 상자 혹은 같은 라인 내에서 연결고리가 있는것들끼리 두개씩 묶여있으면 좋은 신호다.
얘네들은 이제 값이 확정된거나 다름없다. 더이상 여기에는 후보 숫자를 추가해넣을 생각은 하지 않아도 된다. 신경쓰고 싶지 않으니 박스안에 가둬놓으면된다.
만약 큰 상자와 같은 라인 내에 연결고리로 묶인 3개의 숫자를 공유하고 있다면?
예를 들어 (1,2,3). 이는 (1,2), (1,3), (2,3)인 경우를 모두 포함한다. 3개의 숫자에 대해서 값이 확정된것이다. 마찬가지로 더이상 후보 숫자를 추가할 생각은 하지 않아도 된다.
이제 숫자 하나하나에서 추출할 힌트가 없다 싶을때쯤.. 라인 하나하나를 뜯어보기 시작한다. 제일 만만해보이는 걸로 먼저 고른다. 만만해보인다는건.. 빈칸이 많이 없어서 혹시 하나 정도는 더 답을 늘려갈 수 있지 않을까. 힌트를 얻을 수 있지 않을까. 싶어보이는것부터 보면 된다.
여기에서는 5-5를 찾았다. 이렇게 같은 라인이나 혹은 큰 상자를 공유하지만 같은 라인에 있지는 않은 것들은 세모-세모로 연결했다. 동그라미로 하지 않은 이유? 는 없다. 그냥 동그라미가 너무 많으면 다른 모양들이 섭섭해할까봐 세모로 표시한 것 뿐이다.
계속 라인을 뜯어보다보면 그 라인에서 운좋게 후보 숫자가 하나인 것도 발견할 수 있다. 신나는 마음으로 "1"을 써주고 영향을 미칠 수 있는 범위의 1 후보 숫자들은 모두 X표시 해주면 된다.
계속 진행하다보니.. 이런 모양새가 되었다. 이제부터 보여드리고 싶은 게 있다!!!
첫 시작은 4번째 큰 상자(위에서 두번째, 왼쪽에서 첫 번째)에 있는 2를 시작으로.. (위에서 보면 9 위에 있는 숫자 5,6과 9 오른쪽 아래에 있는 숫자를 확정된 값으로 묶었다.) 연결 고리들이 풀려가는 걸 볼 수 있다.
2-> 8-> 2-> 8 -> 4-> 2-> (1, 5) -> 1 -> 5 ... 이렇게 술술술술.. 사실 나는 이거때문에 종이에 푼다. 너무 신난다.
이 문제는 정말 아름답게도 당겨진 방아쇠 한방에 남은 숫자들이 모두 풀리는 문제였다. 너무 좋아요! ^^
물론 이 방법들을 이용해서 모든 문제에 적용할 수 있는 건 아니다. 당연스럽게도 막히는 경우가 많다..
문제를 풀다가 계속된 브레이크에 지치면 결국 29가지 해법에 대한 공부를 시작할지도 모르겠다..^^..
실제로 종이에 푼 모습인데 단점이 있다면 나도 내가 뭘 썼는지 알아보기 힘들다는 점.. 실제로 실수를 하게 되는 경우도 많았다. 그래도 문제는 많이 남아있고... 더 깔끔하게 보완할 수 있는 방법을 생각해봐야겠다.