Complete 2023 day 2
Dependencies
- [2]
PUGKJMPLRefactor 2023 day 2: parse each line into a single hash table - [3]
RDQKKB5G2023 day 2 part 1
Change contents
- replacement in 2023/day2.lisp at line 89
count = (let ((tok (next-token toks)))count = (let ((tok (next-token toks))) - replacement in 2023/day2.lisp at line 97
(warn (format nil "Unrecognized delimiter: ~a" delim))))(warn (format nil "Unrecognized delimiter: ~a" delim)))) - edit in 2023/day2.lisp at line 106
(defun power-product (bag)(let ((p 1))(loop for v being each hash-value in bagdo (setf p (* p v)))p)) - replacement in 2023/day2.lisp at line 113[3.3842]→[3.3842:4017](∅→∅),[3.4017]→[2.540:585](∅→∅),[2.585]→[3.4068:4127](∅→∅),[3.4068]→[3.4068:4127](∅→∅)
(format t "~a~%" (loop for line = (read-line instream nil)while linesum (if (equalp line "")0(let ((game (parse-line line)))(if (check-limit (cdr game))(car game)0))))))(let ((part1 0)(part2 0))(loop for line = (read-line instream nil)while linedo (let ((game (parse-line line)))(setf part1 (+ part1 (if (check-limit (cdr game))(car game)0)))(setf part2 (+ part2 (power-product (cdr game))))))(format t "Part 1: ~a~%" part1)(format t "Part 2: ~a~%" part2)))