Challenge #200: Sudoku Solver
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
A solution to last week's challenge can be found here.
Challenge 200 represents another milestone (and badge!) on the trek up Mt. Everest: the arrival at Camp 4. To celebrate officially entering the Death Zone, we're serving up a challenge created by puzzler extraordinaire @TerryT!
Sudoku is a popular puzzle that requires you to the cells in a 9×9 grid with digits so that each row, each column, and each of the nine 3×3 boxes (shown with heavier lines) contains all the digits from 1 to 9 exactly once. Each puzzle is encoded as an 81 character string.
This challenge has three solution levels:
BEGINNER:
Using the Beginner and Intermediate Start File, parse the puzzle by separating rows nine characters at a time. The columns and boxes then line up accordingly where a ‘0’ represents an empty cell.
INTERMEDIATE:
Solve the puzzle provided in the Beginner and Intermediate Start File.
ADVANCED:
Solve the Sudoku puzzle from the Wikipedia article (Wikipedia Puzzle Start File).
Welcome to the Death Zone (Source: GIPHY)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Solved Beginner Level
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Quickly solving to get that 200th challenge done. Beginner is done. Will post intermediate/advanced when I have more time to think on it
EDIT: Here we go. I didn't want to use a macro this time around. All macroed out from Advent of Code (which I'm still plugging through!)
Beginner:
Intermediate:
🙂
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Using one of my favorite tools--(Regex). First break down the 81 character line into 9 character chucks; rename the columns; transpose it; break it into 9 fields; rename the fields; and that is it.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Here's the Beginner portion solved. I need a bit more time to figure out the Intermediate and Advanced.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Beginner and Intermediate done. The Advanced is going to take some serious work...
Because the puzzle could be solved by simple elimination, I was able to get away without iterating at all. If there were multiple candidates after the first elimination I would have gone to an iterative macro.
I haven't looked at the advanced puzzle yet, but if it is even relatively hard, it could be really nasty. Most of the solutions I've seen use backtracking which would be fun to try in Alteryx although I'm not sure how without using Python.