This site uses different types of cookies, including analytics and functional cookies (its own and from other sites). To change your cookie settings or find out more, click here. If you continue browsing our website, you accept these cookies.
A fun, non-Intcode challenge! Here we need to decipher messages, given the coordinates of points along "layers"
Puzzle input looks a little crazy -
But, instructions are clear. We have an image here that's 25 pixels wide by 6 pixels tall, so I need to chunk the data into rows of 150 characters (25*6). Easily done with a Regex Parse tool
For part 1, need to count the numbers of zeros, ones, and twos. Easily done with a Regex_CountMatches function:
To get the multiple of the numbers of ones multiplied by the numbers of twos, a simple multiplication works. Sort descending to find the answer.
Part 2 is figuring out the message. Stack up all of the layers. 0 is black, 1 is white, and 2 is transparent. So, whichever is showing in the stack is the color used.
Another Regex parse tool separates each row into individual letters. I love to use the Tile tool to number within a group (Unique value method on the Record ID field). Then a summarize tool finds the first position of each 0, 1, or 2 within each position in the layers. Next, filter out the transparent values (where Field1 = 2). Sort and pick out the first character (a 0 or 1) in each position in the message. There are 150, which checks out with 25*6. Now rebuild the picture with a Make Columns tool. Sometimes I prefer this to Crosstab. Here's the configuration:
Added a Browse, and realized this was REALLY hard to read. Decided to replace 0s with empty values, and 1s with #s. Added a Table tool (massive props to @CharlieS for sharing his vast knowledge of Reporting tools with our community!!) with a fixed width of 1". And voila!