Weekly Challenges

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

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

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


Challenge #159: April ENcyptanalytics

Alteryx Alumni (Retired)

The last time I posted a challenge (#155) it dealt with string analysis and decrypting a message from a noisy block of text.


People have been interested in how I came up with the data block for the challenge.


I decided this would be a good opportunity to let you be creative and show me!


The challenge this week is to create an ENCODER for a message that is compatible with the DECODER we built in challenge #155.


The easiest thing to do would be to simply generate some number of copies of the input message
(even just copying out the original message), but let us disqualify all such non-encodings!


14 - Magnetar
14 - Magnetar

Here's my solution. My first 1st post :)

So I decided to encode my message by using the CharToInt function and then using a random number generate add a random number to the converted character to integer.

Challenge 159.PNG

A snippet of my encoded message:

Challenge 159 Encoded Message.PNG

Check out my collaboration with fellow ACE Joshua Burkhow at AlterTricks.com
17 - Castor
17 - Castor


I just generated random data using ASCII characters 33-133 and then replaced the most popular +least popular characters with the intended letter. I added the least popular letter to avoid any ties.
9 - Comet

Fun! Will look for a more efficient method later. I had to make my own list of characters which probably made it more complicated than necessary.


2019-04-09 12_07_12-Alteryx Designer x64 - 159..yxmd.png





16 - Nebula
16 - Nebula

Interesting challenge :)

19 - Altair
19 - Altair

Fun Challenge @TerryT .  


Encoded strings


Encoded strings.png





ACE Emeritus
ACE Emeritus

Me: This looks like a tricky one, but I'm sure I can get there using the skills I already have using the basic tools that I'm most familiar with.


Also me: ... Although this seems like a good time to try learning Python, on an extremely difficult challenge, even though I've never used it before... right?!?


I created an app for mine, in the end - allows the user to enter a string to be encoded, along with desired minimum number of rows to be included in the block of text (more may be added in order to get to the desired max number per character in each position, but this at least ensures a minimum number of rows).


Workflow then parses the original message, feeds parameters into the Python tool, and uses the numpy.random.randint() function to create an array based on integers 32-127 (which will get converted back to standard A-Z a-z 0-9 & common symbol characters in the latter part of the workflow). I count the max number of occurrences of any character in each position of the resulting randomized array, and then add that many occurrences + 1 of the original characters to the array to ensure that my desired characters are the ones that occur the most. I then pivot the data, use a RandInt formula to come up with a new random order per position, sort the data using the new random order, un-pivot the fields, and then concatenate by row. 


The results will then output your Encoded Text Block as well as a copy of your Original Text for validation.


Extremely pleased that I eventually figured this one out... and jumping in the deep end appears to be the way to go with Python, because that was SUPER fun and now I want to try more :) #neverstoplearning #andnevertakeeasywayout




8 - Asteroid

Here is my solution

13 - Pulsar
13 - Pulsar

I am a huge fan of this series! Thanks @TerryT! Next maybe we can tackle KRYPTOS with Alteryx! 

I definitely struggled with this one initially (should never try and do these at the end of a work day). I could not figure out how I was going to break a tie if two characters had the same number of occurrences. I then decided just grabbing the top two. It is a bit of overkill, but this way I can ensure success of no ties.
Challenge 159.PNG
11 - Bolide

Thanks @TerryT  nice challenge!! Right now, I feel like a spy in the Cold War haha


Hope you like my solution