AoC-2022-Nix/days/6/solution.nix
zuckerberg 270093e194 Day 6
2022-12-06 21:33:35 -07:00

17 lines
452 B
Nix

with import ../../util.nix;
let
# read input
input = stringToCharacters (readFile ./input);
marker = markerLength: data:
let
isMarker = l: length (unique l) == markerLength;
search = start: l:
if isMarker (sublist (start - markerLength + 1) markerLength l) then start +1
else search (start +1) l;
in search (markerLength -1) input;
in rec {
part1 = marker 4 input;
part2 = marker 14 (drop part1 input);
}