aboutsummaryrefslogtreecommitdiffstats
path: root/day7/part2.clj
diff options
context:
space:
mode:
Diffstat (limited to 'day7/part2.clj')
-rw-r--r--day7/part2.clj36
1 files changed, 18 insertions, 18 deletions
diff --git a/day7/part2.clj b/day7/part2.clj
index c051a6a..83d2033 100644
--- a/day7/part2.clj
+++ b/day7/part2.clj
@@ -1,23 +1,23 @@
-(def input
- (->> (slurp "./in") ;"16,1,2,0,4,2,7,1,2,14"
- (#(clojure.string/split % #","))
- (map read-string)
- )
- )
-
-(defn mean [lst]
- (quot (apply + lst) (count lst))
- )
-
-(defn calc-fuel [lst meen]
- (->> input
- (map (partial - meen))
- (map #(if (neg? %) (- %) %))
- (map #(apply + (range 1 (inc %))))
+(defn calc-fuel [lst pos]
+ (->> lst
+ (map
+ (comp
+ #(/ (* % (inc %)) 2)
+ #(Math/abs %)
+ (partial - pos)
+ )
+ )
(apply +)
)
)
-(println (min (calc-fuel input (mean input))
- (calc-fuel input (inc (mean input)))))
+(let [input (->> (slurp "./in") ;"16,1,2,0,4,2,7,1,2,14"
+ (#(clojure.string/split % #","))
+ (map read-string)
+ )
+ mean (quot (apply + input) (count input))
+ ]
+ (println (min (calc-fuel input mean)
+ (calc-fuel input (inc mean))))
+ )