The Ideal Stocking Stuffer

rmion

Robert Mion

Posted on September 22, 2022

The Ideal Stocking Stuffer

Advent of Code 2015 Day 4

Part 1

  1. How about another game of Chess?
  2. Re-writing...
  3. Waiting...

How about another game of Chess?

  • This puzzle is déjà vu!
  • I solved it eight times as part of 2016 Day 5!
  • So...solving it once should just be another waiting game!

Re-writing...

My algorithm in pseudocode:

Import my MD5 library
Set index to 0
Do as long as the first five characters in the generated hash are not zeros
  Increment index by 1
Enter fullscreen mode Exit fullscreen mode

My algorithm in JavaScript:

const MD5 = require('crypto-js/md5')
let index = 0, input = 'abcdef'
while (MD5(input + index).toString().slice(0,5) !== '00000') index++
return index
Enter fullscreen mode Exit fullscreen mode

Waiting...

  • It took a couple of seconds to run
  • Then generated the correct answer!

Part 2

Six zeroes? No problem!

My algorithm in JavaScript:

const MD5 = require('crypto-js/md5')
let index = 0, input = 'abcdef'
while (MD5(input + index).toString().slice(0,6) !== '000000') index++
return index
Enter fullscreen mode Exit fullscreen mode
  • It took several seconds to run
  • Then generated the correct answer!

I did it!!

  • I solved both parts!
  • Using a snippet of an algorithm I wrote in a nearly-identical puzzle from the prior year!
  • I wrote what may be my shortest Advent of Code program yet, at just four lines when condensed!
💖 💪 🙅 🚩
rmion
Robert Mion

Posted on September 22, 2022

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

Cube Conundrum
adventofcode Cube Conundrum

December 2, 2023

Haunted Wasteland
adventofcode Haunted Wasteland

December 18, 2023

The Ideal Stocking Stuffer
adventofcode The Ideal Stocking Stuffer

September 22, 2022

Knights of the Dinner Table
adventofcode Knights of the Dinner Table

September 18, 2022

Like a GIF For Your Yard
adventofcode Like a GIF For Your Yard

September 12, 2022