summaryrefslogtreecommitdiffstats
path: root/2021/03/code.tl
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2022-11-06 09:58:38 -0800
committerKaz Kylheku <kaz@kylheku.com>2022-11-06 09:58:38 -0800
commit4fd1aae518076adc8b97735225c678d6a362328d (patch)
tree97d61b659fc3cac628d0cdee71128a0baee2cb73 /2021/03/code.tl
downloadadvent-4fd1aae518076adc8b97735225c678d6a362328d.tar.gz
advent-4fd1aae518076adc8b97735225c678d6a362328d.tar.bz2
advent-4fd1aae518076adc8b97735225c678d6a362328d.zip
Kazinator's Advent of Code stuff.
Diffstat (limited to '2021/03/code.tl')
-rw-r--r--2021/03/code.tl26
1 files changed, 26 insertions, 0 deletions
diff --git a/2021/03/code.tl b/2021/03/code.tl
new file mode 100644
index 0000000..4ffd1f4
--- /dev/null
+++ b/2021/03/code.tl
@@ -0,0 +1,26 @@
+(defun funny-less (left right)
+ (let ((ll (len left))
+ (lr (len right)))
+ (or (< ll lr)
+ (if (eql ll lr)
+ (< (car left) (car right))))))
+
+(defun funny-greater (left right)
+ (let ((ll (len left))
+ (lr (len right)))
+ (or (> ll lr)
+ (if (eql ll lr)
+ (> (car left) (car right))))))
+
+(defun maj-pare-down (list pos)
+ (cdr [find-max [group-by (op ref @1 pos) list] funny-greater]))
+
+(defun min-pare-down (list pos)
+ (cdr [find-min [group-by (op ref @1 pos) list] funny-less]))
+
+(let ((list *2))
+ (each ((i 0..12))
+ (upd list (min-pare-down @1 i)))
+ list)
+
+[apply * (mapcar (op toint @1 2) (flatten results))] ;; results contains two numbers in text form