feat: day 2 part 2
This commit is contained in:
parent
90fe696ca4
commit
1c7d4d92be
@ -77,8 +77,51 @@
|
|||||||
possible-games-sum (reduce #(+ %1 (%2 :id)) 0 possible-games)]
|
possible-games-sum (reduce #(+ %1 (%2 :id)) 0 possible-games)]
|
||||||
(str possible-games-sum)))
|
(str possible-games-sum)))
|
||||||
|
|
||||||
|
;
|
||||||
|
;
|
||||||
|
; what is the fewest number of cubes of each color that could have
|
||||||
|
; been in the bag to make the game possible?
|
||||||
|
;
|
||||||
|
; The power of a set of cubes is equal to the numbers of
|
||||||
|
; red, green, and blue cubes multiplied together
|
||||||
|
; For each game, find the minimum set of cubes that must have been present.
|
||||||
|
; What is the sum of the power of these sets?
|
||||||
|
;
|
||||||
|
|
||||||
|
(defn games-minimum
|
||||||
|
":: Vector of {:red Int :green Int :blue Int} -> {:red Int :green Int :blue Int}"
|
||||||
|
[games]
|
||||||
|
(reduce (fn [acc next-game]
|
||||||
|
(let [acc-red (acc :red)
|
||||||
|
acc-green (acc :green)
|
||||||
|
acc-blue (acc :blue)
|
||||||
|
|
||||||
|
next-red (next-game :red 0)
|
||||||
|
next-blue (next-game :blue 0)
|
||||||
|
next-green (next-game :green 0)
|
||||||
|
|
||||||
|
new-red (last (sort (list acc-red next-red)))
|
||||||
|
new-green (last (sort (list acc-green next-green)))
|
||||||
|
new-blue (last (sort (list acc-blue next-blue)))]
|
||||||
|
{:red new-red :green new-green :blue new-blue}))
|
||||||
|
{:red 0 :green 0 :blue 0}
|
||||||
|
games))
|
||||||
|
|
||||||
|
(defn get-power
|
||||||
|
":: Game -> Int
|
||||||
|
|
||||||
|
Returns the minimum value of each color in the game"
|
||||||
|
[game]
|
||||||
|
; minimums :: Vector of {:red Int :green Int :blue Int}
|
||||||
|
(let [minimums (games-minimum (game :games))]
|
||||||
|
(* (minimums :red) (minimums :green) (minimums :blue))))
|
||||||
|
|
||||||
(defn part2
|
(defn part2
|
||||||
":: () -> String"
|
":: () -> String"
|
||||||
[]
|
[]
|
||||||
"")
|
(let [games (map parse-game lines)
|
||||||
|
powers (map get-power games)
|
||||||
|
sum (reduce + powers)]
|
||||||
|
(str sum)))
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user