src/2016/days/day-06.lisp @ 182bdd87fd9e

Refactor, remove quickutil
author Steve Losh <steve@stevelosh.com>
date Mon, 29 Nov 2021 23:19:14 -0500
parents af91bed748cd
children (none)
(advent:defpackage* :advent/2016/06)
(in-package :advent/2016/06)

(defun freqs (lines)
  (iterate
    (for i :from 0 :below (length (first lines)))
    (collect (frequencies lines :key (rcurry #'elt i)))))

(defun freq-extrema (predicate freqs)
  (_ freqs
     alexandria:hash-table-alist
     (extrema predicate _ :key #'cdr)
     car))

(define-problem (2016 6) (data read-lines) ("nabgqlcw" "ovtrjcjh")
  (values
    (map 'string (curry #'freq-extrema #'>) (freqs data))
    (map 'string (curry #'freq-extrema #'<) (freqs data))))



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