diff options
| author | Orfeas Chatzipanagiotis <csd4366@csd.uoc.gr> | 2022-12-01 17:18:33 +0200 |
|---|---|---|
| committer | Orfeas Chatzipanagiotis <csd4366@csd.uoc.gr> | 2022-12-09 11:57:39 +0200 |
| commit | 050d6541aca6af5769a4c33513b269ddcdad001f (patch) | |
| tree | f544b09abd524ebe9fedc3ccdd666931375434f9 /day1/solution.nim | |
| parent | Initial commit (diff) | |
| download | aoc22-050d6541aca6af5769a4c33513b269ddcdad001f.tar.gz aoc22-050d6541aca6af5769a4c33513b269ddcdad001f.zip | |
Day 1
Diffstat (limited to 'day1/solution.nim')
| -rw-r--r-- | day1/solution.nim | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/day1/solution.nim b/day1/solution.nim new file mode 100644 index 0000000..09002e0 --- /dev/null +++ b/day1/solution.nim | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | import std/strutils | ||
| 2 | import std/algorithm | ||
| 3 | import std/strformat | ||
| 4 | |||
| 5 | let input = readFile("./input.txt").split({'\n'}) | ||
| 6 | |||
| 7 | var | ||
| 8 | sum : int | ||
| 9 | sums: seq[int] | ||
| 10 | |||
| 11 | for line in input: | ||
| 12 | if line.isEmptyOrWhitespace(): | ||
| 13 | sums.add(sum) | ||
| 14 | sum = 0 | ||
| 15 | continue | ||
| 16 | sum += parseInt(line) | ||
| 17 | |||
| 18 | sort(sums, system.cmp[int], Descending) | ||
| 19 | |||
| 20 | echo fmt"Part 1: {sums[0]}" | ||
| 21 | echo fmt"Part 2: {sums[0]+sums[1]+sums[2]}" | ||
