DEV Community

Cover image for The Ideal Stocking Stuffer
Robert Mion
Robert Mion

Posted on

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!

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (0)

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay