Advent of Code is back! Unwrap daily challenges to sharpen your Alteryx skills and earn badges along the way! Learn more now.
Free Trial

Weekly Challenges

Solve the challenge, share your solution and summit the ranks of our Community!

Also available in | Français | Português | Español | 日本語
IDEAS WANTED

Want to get involved? We're always looking for ideas and content for Weekly Challenges.

SUBMIT YOUR IDEA

Challenge #177: Ham Hamlet

Kenda
16 - Nebula
16 - Nebula
Spoiler
I was getting so frustrated doing the back and forth with trial and error along with rerunning my workflow so many times. I ended up just scrapping that method and artificially creating a bunch of possible combinations so that I could get 26 of the 104 mappings.
Capture.PNG
TimothyManning
8 - Asteroid
Spoiler
177. Data Analysis.PNG
A difficult one! I didn't really know where to start, apart from finding what a space was. I got the idea then from @T_Willins to look at shorter words and guess characters from there. Then, I sorted the words by count to find the most common words like 'the', 'and', 'we' etc

Took a long time but enjoyed the problem solving!
ch12345
7 - Meteor
Spoiler
My solution is still incomplete and does not use an automated approach such as counting characters as I was completely thrown off by the pig latin. The only way I managed to figure it out was through trying to take a logical approach:
I found out that the second character only had four possible combinations (excluding upper and lower case).
From the position and frequency of the upper case variants, I concluded that these were not an integral part of the decode.
I couldn't get the 'A' or the 'Y' characters to agree to their actual mappings and the decode only gave nonsense. As the numbering of the left hand encoded letter began at 2 rather than 1, I decided that this might also be a clue, so bumping the left character 'a' to position '1'. 
From here manual verification of the words that appeared and adjustment allowed me to get some semblance of real words, however the only checks I was actually certain about were the header and footer as they have less flowery language.

Overall, I think there was more luck than judgement involved here! With more fine tuning, most letters would be discovered, and further investigation would have revealed an identical ordering to each character subset (assuming that I chose to begin at the correct character!), so making adjustment possible.
  
JoshuaGostick
11 - Bolide

My solution with lots of trial and error.

 

Spoiler
challenge_177.PNG
jamielaird
14 - Magnetar

Couldn't get there on my own and after a peek at the solutions I thought @Claje's 'brute force' approach was incredibly smart, so did something along those lines.

 

Spoiler
Screenshot 2019-10-12 at 19.39.24.png

 

Kenda
16 - Nebula
16 - Nebula

Forgot to attach my workflow to my posted solution above.

RichoBsJ
11 - Bolide

Hi! Here my solution 🙂

 

Spoiler
Honestly, when you published this challenge 2-3 months ago I said 'omg, this is no for me, this is for CIA or so...' haha

I think I've found a really easy way to solve it. I didn't look at any solution, I promise. And it didn't take more than 8 hours for sure.

So, first at all, in any text any language most of the words are separated by spaces or by punctuation marks and spaces, but spaces are always there...so as "a" and "y" decoded characters were always followed by a 'ks' coded pair...I just suposed that 'ks' meant actually " ".

Second, I splitted text with that " " decoded character:

clipboard_image_0.png

Third, once we have splitted the text, we have (more or less) words, so we can build them and...why don't we count and order them descending?

clipboard_image_1.png (picture shows the words decoded...at this point, imagine I haven't already decoded)

...and why not looking for some help? let's look for the most common words in English here:

https://en.wikipedia.org/wiki/Most_common_words_in_English

Fourth, as we can identify most of the most common words, we can identify very fast 15-20 characters through those words (and, to, the, of, in, you, that....). Now, why don't we try to read the text?

Now is fun, because at the beginning of the text I recognised the words 'project gutemberg' and 'shakespeare' :).....and after that a text where I could read literally 'for the use of anyone anywhere at no cost'...so I googled 'project gutenberg shakespeare hamlet' (as the challenge is called Ham Hamlet):

clipboard_image_2.png

...and voilá! I should have click 'Voy a tener suerte' (spanish version for I'm Feeling Lucky) haha. It results that if you click on 'read this book online: html' you can find a text which first paragraph is exactly the same text I red...so I've found a

HAM HAMLET ROSSETA STONE

http://www.gutenberg.org/files/1524/1524-h/1524-h.htm

After that, I just wrote some other letters in the table till I had 26 correct decodings 🙂
OllieClarke
15 - Aurora
15 - Aurora

well that was properly challenging

Spoiler
I worked out that ks was a space as it was always preceded by 'ay', and then used this to break everything out into words. Then I found 'the' as the most common 3 letter word. I assumed that the case of the second letter gave the case of the real letter, rather than changing the real letter. From there I used the letters I had to work out other letters. After a while I spotted a pattern in the encoding, which I could use to quickly fill in the gaps
177.png
Very manual, but quite satisfying to chip away at such a hard problem bit by bit
Challenge 177.png
NoraW
7 - Meteor
Spoiler
Challenge 177_NW.PNG

SeanAdams
17 - Castor
17 - Castor

Man - this was an interesting one!

 

First started out by trying to create a word frequency for Hamlet translated into Pig Latin.   Interestingly - it turned out that this gave the first 6 letters, but did not match to anything after this.

Accidentally, after feeding this through an append tool, created a brute-force approach (like @Claje ) and it unlocked the translation.

 

So I spent the rest of the time doing a pig-latin decoder which is case sensitive - works relatively well with only a few issues that I didn't commit the time to ferret out.

 

Result - decode with capitalisation.jpg

 

 

Spoiler
Here's the solution that decodes the pig-latin with case sensitivity - you can see that the process is to break into words, then progressively decode (and remove) each word - then do a case fix; and finally replace in the original text.

Solution Part 1.jpgSolutionPart2.jpg