aboutsummaryrefslogtreecommitdiff
path: root/2022/nim/day01
diff options
context:
space:
mode:
Diffstat (limited to '2022/nim/day01')
-rw-r--r--2022/nim/day01/src/main.nim11
1 files changed, 11 insertions, 0 deletions
diff --git a/2022/nim/day01/src/main.nim b/2022/nim/day01/src/main.nim
new file mode 100644
index 0000000..ebdd5e7
--- /dev/null
+++ b/2022/nim/day01/src/main.nim
@@ -0,0 +1,11 @@
+# Day One: Calorie Counting
+import std/[os, strutils, sequtils, algorithm]
+
+let input: seq[seq[int]] = paramStr(1).readFile().strip().split("\n\n")
+ .mapIt(it.strip().split("\n").map(parseInt))
+
+let elves = input.mapIt(it.foldl(a+b, 0))
+echo elves.foldl(max(a,b), 0)
+
+let sorted = elves.sorted(cmp[int], Descending)
+echo sorted[0] + sorted[1] + sorted[2]