adventofcode2022

My solutions for Advent of Code 2022
Log | Files | Refs

commit f215bd7ae2f9b68897e60a6d6b8673529108e455
parent 91684524ede6ed7994b6a88a457f453630541d82
Author: Lukas Henkel <lh@entf.net>
Date:   Fri,  2 Dec 2022 07:36:04 +0100

Day 2 task 2

Diffstat:
Msrc/day02.lisp | 27++++++++++++++++++++++++++-
Mt/day02.lisp | 6++++++
2 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/src/day02.lisp b/src/day02.lisp @@ -17,9 +17,34 @@ (incf score (cdr input))) score)) +(defun task2 (inputs) + (let ((score 0)) + (dolist (input inputs) + (cond + ((= (cdr input) 2) + (incf score 3)) + ((= (cdr input) 3) + (incf score 6))) + (if (= (cdr input) 2) + (incf score (car input)) + (trivia:match input + ((cons 1 1) + (incf score 3)) + ((cons 1 3) + (incf score 2)) + ((cons 2 1) + (incf score 1)) + ((cons 2 3) + (incf score 3)) + ((cons 3 1) + (incf score 2)) + ((cons 3 3) + (incf score 1))))) + score)) + (define-day 2 (:translate-input (lambda (line) (cons (- (char-code (aref line 0)) 64) (- (char-code (aref line 2)) 87)))) #'task1 - nil) + #'task2) diff --git a/t/day02.lisp b/t/day02.lisp @@ -10,3 +10,9 @@ C Z (= 15 (run-task 2 1 (make-string-input-stream +testdata-day02+))))) + +(def-test day02-task2 () + (is-true + (= 12 + (run-task 2 2 + (make-string-input-stream +testdata-day02+)))))