Day 1
This commit is contained in:
parent
8acceb5231
commit
0b05fa094b
2 changed files with 237 additions and 0 deletions
200
day1/input
Normal file
200
day1/input
Normal file
|
@ -0,0 +1,200 @@
|
|||
1977
|
||||
1802
|
||||
1856
|
||||
1309
|
||||
2003
|
||||
1854
|
||||
1898
|
||||
1862
|
||||
1857
|
||||
542
|
||||
1616
|
||||
1599
|
||||
1628
|
||||
1511
|
||||
1848
|
||||
1623
|
||||
1959
|
||||
1693
|
||||
1444
|
||||
1211
|
||||
1551
|
||||
1399
|
||||
1855
|
||||
1538
|
||||
1869
|
||||
1664
|
||||
1719
|
||||
1241
|
||||
1875
|
||||
1733
|
||||
1547
|
||||
1813
|
||||
1531
|
||||
1773
|
||||
624
|
||||
1336
|
||||
1897
|
||||
1179
|
||||
1258
|
||||
1205
|
||||
1727
|
||||
1364
|
||||
1957
|
||||
540
|
||||
1970
|
||||
1273
|
||||
1621
|
||||
1964
|
||||
1723
|
||||
1699
|
||||
1847
|
||||
1249
|
||||
1254
|
||||
1644
|
||||
1449
|
||||
1794
|
||||
1797
|
||||
1713
|
||||
1534
|
||||
1202
|
||||
1951
|
||||
1598
|
||||
1926
|
||||
1865
|
||||
1294
|
||||
1893
|
||||
1641
|
||||
1325
|
||||
1432
|
||||
1960
|
||||
413
|
||||
1517
|
||||
1724
|
||||
1715
|
||||
1458
|
||||
1775
|
||||
1317
|
||||
1694
|
||||
1484
|
||||
1840
|
||||
1999
|
||||
1811
|
||||
1578
|
||||
1658
|
||||
1906
|
||||
1481
|
||||
1313
|
||||
1997
|
||||
1339
|
||||
1592
|
||||
1971
|
||||
1453
|
||||
1706
|
||||
1884
|
||||
1956
|
||||
1384
|
||||
1579
|
||||
1689
|
||||
1726
|
||||
1217
|
||||
1796
|
||||
1536
|
||||
1213
|
||||
1867
|
||||
1304
|
||||
2010
|
||||
1503
|
||||
1665
|
||||
1361
|
||||
814
|
||||
2007
|
||||
1430
|
||||
1625
|
||||
1958
|
||||
860
|
||||
1799
|
||||
1942
|
||||
1876
|
||||
1772
|
||||
1198
|
||||
1221
|
||||
1814
|
||||
1826
|
||||
1667
|
||||
1334
|
||||
1504
|
||||
1420
|
||||
1164
|
||||
1414
|
||||
1934
|
||||
1823
|
||||
1507
|
||||
1195
|
||||
21
|
||||
1752
|
||||
1472
|
||||
1196
|
||||
1558
|
||||
1322
|
||||
1927
|
||||
1556
|
||||
1922
|
||||
277
|
||||
1828
|
||||
1883
|
||||
1280
|
||||
1947
|
||||
1231
|
||||
1915
|
||||
1235
|
||||
1961
|
||||
1494
|
||||
1324
|
||||
2009
|
||||
1367
|
||||
1545
|
||||
1736
|
||||
1575
|
||||
1214
|
||||
1704
|
||||
1833
|
||||
1663
|
||||
1474
|
||||
1894
|
||||
1754
|
||||
1564
|
||||
1321
|
||||
1119
|
||||
1975
|
||||
1987
|
||||
1873
|
||||
1834
|
||||
1686
|
||||
1574
|
||||
1505
|
||||
1656
|
||||
1688
|
||||
1896
|
||||
1982
|
||||
1554
|
||||
1990
|
||||
1902
|
||||
1859
|
||||
1293
|
||||
1739
|
||||
1282
|
||||
1889
|
||||
1981
|
||||
1283
|
||||
1687
|
||||
1220
|
||||
1443
|
||||
1409
|
||||
1252
|
||||
1506
|
||||
1742
|
||||
1319
|
||||
1882
|
||||
951
|
||||
1849
|
37
day1/main.hs
Executable file
37
day1/main.hs
Executable file
|
@ -0,0 +1,37 @@
|
|||
#! /usr/bin/env -S"ANSWER=42" nix-shell
|
||||
#! nix-shell -p ghcid
|
||||
#! nix-shell -p "haskellPackages.ghcWithPackages (p: with p; [shower])"
|
||||
#! nix-shell -i "ghcid -c 'ghci -Wall' -T main"
|
||||
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
|
||||
-- [...] find the two entries that sum to 2020 and then multiply those two
|
||||
-- numbers together.
|
||||
|
||||
testData :: [Int]
|
||||
testData = [ 1721 , 979 , 366 , 299 , 675 , 1456 ]
|
||||
|
||||
realData :: [Int]
|
||||
realData = [ 1977 , 1802 , 1856 , 1309 , 2003 , 1854 , 1898 , 1862 , 1857 , 542 , 1616 , 1599 , 1628 , 1511 , 1848 , 1623 , 1959 , 1693 , 1444 , 1211 , 1551 , 1399 , 1855 , 1538 , 1869 , 1664 , 1719 , 1241 , 1875 , 1733 , 1547 , 1813 , 1531 , 1773 , 624 , 1336 , 1897 , 1179 , 1258 , 1205 , 1727 , 1364 , 1957 , 540 , 1970 , 1273 , 1621 , 1964 , 1723 , 1699 , 1847 , 1249 , 1254 , 1644 , 1449 , 1794 , 1797 , 1713 , 1534 , 1202 , 1951 , 1598 , 1926 , 1865 , 1294 , 1893 , 1641 , 1325 , 1432 , 1960 , 413 , 1517 , 1724 , 1715 , 1458 , 1775 , 1317 , 1694 , 1484 , 1840 , 1999 , 1811 , 1578 , 1658 , 1906 , 1481 , 1313 , 1997 , 1339 , 1592 , 1971 , 1453 , 1706 , 1884 , 1956 , 1384 , 1579 , 1689 , 1726 , 1217 , 1796 , 1536 , 1213 , 1867 , 1304 , 2010 , 1503 , 1665 , 1361 , 814 , 2007 , 1430 , 1625 , 1958 , 860 , 1799 , 1942 , 1876 , 1772 , 1198 , 1221 , 1814 , 1826 , 1667 , 1334 , 1504 , 1420 , 1164 , 1414 , 1934 , 1823 , 1507 , 1195 , 21 , 1752 , 1472 , 1196 , 1558 , 1322 , 1927 , 1556 , 1922 , 277 , 1828 , 1883 , 1280 , 1947 , 1231 , 1915 , 1235 , 1961 , 1494 , 1324 , 2009 , 1367 , 1545 , 1736 , 1575 , 1214 , 1704 , 1833 , 1663 , 1474 , 1894 , 1754 , 1564 , 1321 , 1119 , 1975 , 1987 , 1873 , 1834 , 1686 , 1574 , 1505 , 1656 , 1688 , 1896 , 1982 , 1554 , 1990 , 1902 , 1859 , 1293 , 1739 , 1282 , 1889 , 1981 , 1283 , 1687 , 1220 , 1443 , 1409 , 1252 , 1506 , 1742 , 1319 , 1882 , 951 , 1849 ]
|
||||
|
||||
solve1 :: [Int] -> Maybe Int
|
||||
solve1 l = lookup 2020 $ do
|
||||
x <- l
|
||||
y <- l
|
||||
pure (x+y,x*y)
|
||||
|
||||
solve2 :: [Int] -> Maybe Int
|
||||
solve2 l = lookup 2020 $ do
|
||||
x <- l
|
||||
y <- l
|
||||
z <- l
|
||||
pure (x+y+z,x*y*z)
|
||||
|
||||
main :: IO ()
|
||||
main = do
|
||||
putStrLn "Day 1 - Part 1"
|
||||
print $ solve1 testData
|
||||
print $ solve1 realData
|
||||
putStrLn "Day 1 - Part 2"
|
||||
print $ solve2 testData
|
||||
print $ solve2 realData
|
Loading…
Reference in a new issue