This commit is contained in:
2022-12-12 18:08:06 +01:00
parent 5a872f3063
commit bc2bed0bfd
31 changed files with 5731 additions and 26 deletions

21
src/Days/Day06.hs Normal file
View File

@@ -0,0 +1,21 @@
module Days.Day06 where
import AOCUtil
import Data.Char
import Data.List
import GHC.Utils.Misc
runA :: IO ()
runA = interactF "data/day06.txt" (show . solve)
runB :: IO ()
runB = interactF "data/day06.txt" (show . solveB)
solve :: String -> Int
solve = fst . head . filter (noDups 4) . zip [4 ..] . filter ((== 4) . length) . map (take 4) . tails
solveB :: String -> Int
solveB = fst . head . filter (noDups 14) . zip [14 ..] . filter ((== 14) . length) . map (take 14) . tails
noDups :: Int -> (Int, [Char]) -> Bool
noDups l (i, ls) = (== l) . length . nub . sort $ ls