src/2016/days/day-03.lisp @ 59d313b4c898

Commit some 2023 days
author Steve Losh <steve@stevelosh.com>
date Wed, 06 Dec 2023 08:17:12 -0500
parents 2848a4548adf
children (none)
(advent:defpackage* :advent/2016/03)
(in-package :advent/2016/03)

(defun validp (a b c)
  (when (> a b) (rotatef a b))
  (when (> b c) (rotatef b c))
  (< c (+ a b)))

(define-problem (2016 3) (data read-lines-of-numbers-and-garbage) (1032 1838)
  (values
    (iterate
      (for (a b c) :in data)
      (counting (validp a b c)))
    (iterate ;; this is just dumb
      (for (x y z) :on data :by #'cdddr)
      (for (ax bx cx) = x)
      (for (ay by cy) = y)
      (for (az bz cz) = z)
      (counting (validp ax ay az))
      (counting (validp bx by bz))
      (counting (validp cx cy cz)))))


#; Scratch --------------------------------------------------------------------