This commit is contained in:
2022-12-18 19:04:47 +01:00
parent b4971e50a3
commit fe73cc9676
2 changed files with 25 additions and 0 deletions

24
day_06/solve.nim Normal file
View File

@@ -0,0 +1,24 @@
import std/[sequtils]
const input = readFile("day_06/input.txt")
proc isMarker(segment: string): bool {.inline.} =
segment.deduplicate == segment
proc findMarkerIndex(data: string, markerSize: int): int =
let offset = markerSize - 1
for i in offset..input.len-1:
if input[i-offset..i].isMarker:
return i
# How many characters need to be processed before the first start-of-packet marker is detected?
proc solvePart1() =
echo "Marker: " & $(input.findMarkerIndex(4) + 1)
# How many characters need to be processed before the first start-of-message marker is detected?
proc solvePart2() =
echo "Marker: " & $(input.findMarkerIndex(14) + 1)
if isMainModule:
solvePart1()
solvePart2()