Add day7 problem + solution

This commit is contained in:
Joey Yakimowich-Payne 2021-12-07 19:51:44 -07:00
commit 084a6dc1e8
4 changed files with 114 additions and 0 deletions

23
day7/p1.nim Normal file
View file

@ -0,0 +1,23 @@
import os
import std/[strutils, sequtils, algorithm]
proc main() =
# initial idea is to sort input and
let fileName = paramStr(1)
let f = open(fileName, fmRead)
var crabs = f.readLine().split(",").mapIt(it.strip.parseInt)
f.close()
crabs.sort(cmp)
let median = crabs[(crabs.len/2).int]
echo median
let fuel = crabs.mapIt(abs(it-median)).foldl(a+b)
echo "Min fuel: ", fuel
main()