diff options
Diffstat (limited to '2022/nim')
-rw-r--r-- | 2022/nim/day06/src/main.nim | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/2022/nim/day06/src/main.nim b/2022/nim/day06/src/main.nim new file mode 100644 index 0000000..cd8eb0a --- /dev/null +++ b/2022/nim/day06/src/main.nim @@ -0,0 +1,25 @@ +# Day 6: Tuning Trouble +import std/[os, strutils, sets] + +let input = paramStr(1).readFile().strip().split("\n")[0] + +iterator slide(input: string, num: int): string = + for i in 0 ..< input.len - num: + var result: string + for j in 0 ..< num: + result &= input[i+j] + yield result + +var i = 4 +for window in input.slide(4): + if window.toHashSet.len == 4: + break + inc i +echo i + +i = 14 +for window in input.slide(14): + if window.toHashSet.len == 14: + break + inc i +echo i |