1
0
Fork 0

solve: day 1, part 2

This commit is contained in:
Sloane Perrault 2022-09-21 09:19:52 -04:00
parent dfe5935b5e
commit f88701078a
2 changed files with 44 additions and 0 deletions

View file

@ -1 +1,21 @@
# Day 1
## Part 1
Took some time to remember how to read input.
I assumed that I could build the list of pairs from
the start and never tracing back (order doesn't matter).
## Part 2
Have to take the previous solution and deal with combinations of three values.
Hardest part is figuring out how to take a list of numbers and return a list
of 3 tuples for the combinations of pairs:
```hs
triples xs = sequence $ replicate 3 xs
```
This produces some additional data but I assume these entries won't be false positives.

24
2020/01/part2.hs Executable file
View file

@ -0,0 +1,24 @@
#!/usr/bin/env runghc
import Data.List
import Data.Maybe
main :: IO ()
main =
do
input <- getInput
let answer = product $ fromJust $ find isSolutionTriple $ triples input
putStrLn $ show answer
getInput :: IO [Int]
getInput = fmap (map read . lines) getContents
triples :: [a] -> [[a]]
triples xs = sequence $ replicate 3 xs
isSolutionTriple :: [Int] -> Bool
isSolutionTriple triple = sum triple == 2020
multplyTriple (a, b, c) = a * b * c