aboutsummaryrefslogtreecommitdiff
path: root/2015/day-04/day-04.rkt
blob: 4008b925df358ab663021c19a7297c93736d3ad5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#lang racket
(require "../../jj-aoc.rkt"
         threading
         file/md5)

(define secret-key (~> (open-day 4 2015)
                       port->string
                       string-trim))

(define (find-n-zeroes n)
  (for/first ([i (in-naturals)]
              #:when (~>> i
                          (~a secret-key)
                          md5
                          bytes->string/utf-8
                          (string-prefix? _ (make-string n #\0))))
    i))

;; part 1
(time (find-n-zeroes 5))

;; part 2
(time (find-n-zeroes 6))