2021:01 - update Nim solution for runner

This commit is contained in:
akp 2021-12-03 00:14:32 +00:00
parent cb36157b56
commit 3502984e76
No known key found for this signature in database
GPG key ID: AA5726202C8879B7

View file

@ -1,9 +1,6 @@
import std/strutils
import std/sequtils
proc loadInput(): string =
return readFile("input.txt")
proc parseInput(instr: string): seq[int] =
result = instr.
splitLines.
@ -11,29 +8,20 @@ proc parseInput(instr: string): seq[int] =
filter(proc(x: string): bool = x != "").
map(parseInt)
# for item in split(instr, "\n"):
# if item == "":
# continue
# let n = parseInt(item)
# result.add(n)
let input = parseInput(loadInput())
proc countIncreases(data: seq[int]): int =
for i in 1..data.high:
if data[i] > data[i-1]:
result = result + 1
proc partOne(): int =
proc partOne*(instr: string): int =
let input = parseInput(instr)
return countIncreases(input)
proc partTwo(): int =
proc partTwo*(instr: string): int =
let input = parseInput(instr)
var sums: seq[int]
for i in countup(0, len(input)-3):
sums.add(
(@input[i..i+2]).foldl(a+b),
)
return countIncreases(sums)
echo "Part one: " & $partOne()
echo "Part two: " & $partTwo()