Add solution for part 1 for day 10
This commit is contained in:
parent
13411e9f31
commit
cca98607c9
22
day10/day10.lisp
Normal file
22
day10/day10.lisp
Normal file
@ -0,0 +1,22 @@
|
||||
(ql:quickload :cl-ppcre)
|
||||
(ql:quickload :alexandria)
|
||||
|
||||
(defun addx (amount)
|
||||
(list 0 amount))
|
||||
|
||||
(defun noop ()
|
||||
'(0))
|
||||
|
||||
(defun exec (program)
|
||||
(let ((instr (ppcre:split "\\n" program)))
|
||||
(alexandria:flatten
|
||||
(append (list 1)
|
||||
(loop :for line :in instr
|
||||
:collect (eval (read-from-string (concatenate 'string "(" line ")"))))))))
|
||||
|
||||
(defun strength-at-cycle (program cycle)
|
||||
(* cycle (reduce '+ (subseq program 0 cycle))))
|
||||
|
||||
(defun part-one (input)
|
||||
(reduce '+ (loop :for x :in (list 20 60 100 140 180 220)
|
||||
:collect (strength-at-cycle (exec (uiop:read-file-string input)) x))))
|
||||
137
day10/input
Normal file
137
day10/input
Normal file
@ -0,0 +1,137 @@
|
||||
noop
|
||||
noop
|
||||
noop
|
||||
addx 4
|
||||
addx 1
|
||||
addx 5
|
||||
addx 1
|
||||
addx 5
|
||||
noop
|
||||
addx -1
|
||||
addx -6
|
||||
addx 11
|
||||
noop
|
||||
noop
|
||||
noop
|
||||
noop
|
||||
addx 6
|
||||
addx 5
|
||||
noop
|
||||
noop
|
||||
noop
|
||||
addx -30
|
||||
addx 34
|
||||
addx 2
|
||||
addx -39
|
||||
noop
|
||||
addx 5
|
||||
addx 2
|
||||
addx 19
|
||||
addx -18
|
||||
addx 2
|
||||
addx 5
|
||||
addx 2
|
||||
addx 3
|
||||
noop
|
||||
addx 2
|
||||
addx 3
|
||||
noop
|
||||
addx 2
|
||||
addx 3
|
||||
noop
|
||||
addx 2
|
||||
addx 3
|
||||
noop
|
||||
addx 2
|
||||
addx -15
|
||||
addx -22
|
||||
noop
|
||||
noop
|
||||
addx 5
|
||||
addx 2
|
||||
noop
|
||||
noop
|
||||
addx 14
|
||||
addx -11
|
||||
addx 5
|
||||
addx 2
|
||||
addx 3
|
||||
noop
|
||||
addx 2
|
||||
addx -16
|
||||
addx 17
|
||||
addx 2
|
||||
addx 5
|
||||
addx 2
|
||||
addx -6
|
||||
addx -25
|
||||
addx 35
|
||||
addx 1
|
||||
addx -36
|
||||
addx 1
|
||||
addx 22
|
||||
addx -19
|
||||
addx 5
|
||||
addx 2
|
||||
noop
|
||||
noop
|
||||
addx 5
|
||||
noop
|
||||
noop
|
||||
noop
|
||||
addx 1
|
||||
addx 4
|
||||
noop
|
||||
noop
|
||||
noop
|
||||
addx 5
|
||||
noop
|
||||
addx 1
|
||||
addx 2
|
||||
addx 3
|
||||
addx 4
|
||||
addx -34
|
||||
addx 21
|
||||
addx -24
|
||||
addx 2
|
||||
addx 5
|
||||
addx 7
|
||||
addx -6
|
||||
addx 2
|
||||
addx 30
|
||||
addx -23
|
||||
addx 10
|
||||
addx -9
|
||||
addx 2
|
||||
addx 2
|
||||
addx 5
|
||||
addx -12
|
||||
addx 13
|
||||
addx 2
|
||||
addx 5
|
||||
addx 2
|
||||
addx -12
|
||||
addx -24
|
||||
addx -1
|
||||
noop
|
||||
addx 3
|
||||
addx 3
|
||||
addx 1
|
||||
addx 5
|
||||
addx 21
|
||||
addx -16
|
||||
noop
|
||||
addx 19
|
||||
addx -18
|
||||
addx 2
|
||||
addx 5
|
||||
addx 2
|
||||
addx 3
|
||||
noop
|
||||
addx 3
|
||||
addx -1
|
||||
addx 1
|
||||
addx 2
|
||||
addx -18
|
||||
addx 1
|
||||
noop
|
||||
Loading…
x
Reference in New Issue
Block a user