From 624821e8f92f92d3ddbc801b09057bb12f889bc3 Mon Sep 17 00:00:00 2001 From: Pedro Correa Date: Thu, 2 Dec 2021 16:13:39 -0300 Subject: [PATCH] refactor: using main branch as a template for each year --- README.md | 9 + input/day_01 | 199 --------- input/day_02 | 1000 ----------------------------------------- input/day_03 | 323 -------------- input/day_03_sample | 11 - input/day_04 | 1029 ------------------------------------------- input/day_04_sample | 13 - input/day_05 | 875 ------------------------------------ src/day_01.rs | 75 +--- src/day_02.rs | 72 --- src/day_03.rs | 83 ---- src/day_04.rs | 92 ---- src/day_05.rs | 89 ---- src/lib.rs | 4 - 14 files changed, 17 insertions(+), 3857 deletions(-) create mode 100644 README.md delete mode 100644 input/day_02 delete mode 100644 input/day_03 delete mode 100644 input/day_03_sample delete mode 100644 input/day_04 delete mode 100644 input/day_04_sample delete mode 100644 input/day_05 delete mode 100644 src/day_02.rs delete mode 100644 src/day_03.rs delete mode 100644 src/day_04.rs delete mode 100644 src/day_05.rs diff --git a/README.md b/README.md new file mode 100644 index 0000000..e5be062 --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# Advent of Code Challenges + +This repo serves to train Rust with the [Advent of Code challenges](https://adventofcode.com/2021) that take place on December of each year. + +I'm creating each branch for each year so you can navigate for each year that I participated. +The main branch serves only as a template. + +Each challenge will have it's own file and unit tests to validate the challenge, also, +every challenge has an input file with data, that I'm storing on `input/` folder. diff --git a/input/day_01 b/input/day_01 index cd6b6a9..45ff3ac 100644 --- a/input/day_01 +++ b/input/day_01 @@ -1,200 +1 @@ 1531 -1959 -1344 -1508 -1275 -1729 -1904 -1740 -1977 -1992 -1821 -1647 -1404 -1893 -1576 -1509 -1995 -1637 -1816 -1884 -1608 -1943 -1825 -1902 -1227 -1214 -1675 -1650 -1752 -1818 -862 -2006 -227 -1504 -1724 -1961 -1758 -1803 -1991 -1126 -1909 -1643 -1980 -1889 -811 -1699 -1654 -1734 -1770 -1754 -1828 -1811 -1997 -1767 -1854 -1653 -1800 -1762 -1962 -1797 -877 -1660 -1895 -1939 -1679 -1496 -1606 -1262 -1727 -2005 -1796 -1595 -1846 -1822 -1974 -1829 -1347 -1341 -1875 -1726 -1963 -1659 -337 -1826 -1777 -1523 -1979 -1805 -1987 -2009 -1993 -374 -1546 -1706 -1748 -1743 -1725 -281 -1317 -1839 -1683 -1794 -1898 -1824 -1960 -1292 -1876 -1760 -1956 -1701 -1565 -1680 -1932 -1632 -1494 -1630 -1838 -1863 -1328 -1490 -1751 -1707 -1567 -1917 -1318 -1861 -519 -1716 -1891 -1636 -1684 -1200 -1933 -1911 -1809 -1967 -1731 -1921 -1827 -1663 -1720 -1976 -1236 -1986 -1942 -1656 -1733 -1541 -1640 -1518 -1897 -1676 -1307 -1978 -1998 -1674 -1817 -1845 -1658 -1639 -1842 -1929 -1972 -2010 -1951 -858 -1928 -1562 -1787 -1916 -1561 -1694 -1944 -1922 -1882 -1691 -589 -1940 -1624 -1570 -1557 -1791 -1492 -1919 -1615 -1571 -1657 -1984 -1521 -1766 -1790 -1782 -1874 -1198 -1764 -1278 -1688 -1905 -1786 -1281 diff --git a/input/day_02 b/input/day_02 deleted file mode 100644 index f7a1314..0000000 --- a/input/day_02 +++ /dev/null @@ -1,1000 +0,0 @@ -2-4 r: prrmspx -5-6 p: hpzplphxb -5-8 t: ttttbtttttc -1-6 k: kkkkkk -1-3 q: qqqq -4-8 t: pctpfqtrtttmvptvfmws -3-5 z: zznzslv -12-14 h: hhhhhhhhhhhhhhhh -14-15 v: vvvvvvvvhvvvvdmvv -8-17 x: xxxxxxdxxxxxxxckxx -11-12 f: gkfjnffjfcmfwk -10-12 s: xsgsssshbmsbnss -6-15 s: sssssnsssssssss -2-8 d: qnqtrqdrnvq -5-7 k: lhxkkkk -4-5 k: xkkkk -10-16 v: vvvvvvvvvcvvvvvpvv -1-6 f: ffffflfffffff -4-5 x: fxdnq -10-12 p: mkspmhlldqjh -10-12 r: rcvzzcbdgrcr -4-7 r: rxbkrrrzrrrtrrr -18-19 k: kkkkkkkkkkkkkkkkkkk -1-2 f: sfffffffffffffffff -1-5 z: mhkzwdxklf -2-3 r: qzbgrghkmlpxdvd -2-3 q: mqqpcxbqdf -7-8 r: rrrrfrrj -1-9 x: vmxsmwhnxccf -9-10 t: ttttttttppt -2-4 x: rxxqxx -16-17 k: jkfmnwkkztnxvlkkw -3-4 c: ccbpccccczpcccc -5-8 g: ggggjggg -1-3 z: szzzzz -8-9 l: xnllznclz -4-10 m: pkmmptjvgsnwmxm -1-2 r: mbrrtkrjdr -1-3 c: ccqscsxcnctwlvm -4-6 p: ppppppppp -3-5 d: wdddxvmnbdhvzdgqbdm -5-7 n: nnwbsnqnnvn -2-11 j: sgbxjvqnbmq -5-13 q: qqqkpqqqsqqqxqqqq -2-12 m: kvwlwmmvhbpgmnzfddms -2-4 j: kjgcpgxgcphkqjjmbwd -3-6 v: tdvlvv -10-20 n: tnmhnlznnpnmnfnngnnn -4-7 h: hhhhhhhh -9-11 m: mmmmmmmmrmm -7-9 b: mbnbbbbqk -9-10 z: fqzzzmzzzzj -3-15 s: chdpzcpgsgrkhss -3-4 k: kklz -1-5 q: ltqqqxcndqrq -9-17 m: mmmmmmmmqdlmmxbmtmmm -14-16 k: kkkkkkmkkkkkjtkkk -8-9 k: kkkkkqkkxlk -2-6 n: kbhhjhdmgtn -3-8 w: rcwwwkqwbwkwmdqtwmw -10-11 x: snkbxmwqwxp -2-5 m: pmhmp -6-7 b: bbbbbbq -3-7 l: cfqmljq -9-13 q: qzqqqqqqqlqdt -2-10 w: kmwqwtwkssd -4-13 t: ttblttttttttftt -14-17 l: llllllwllllllwllclll -3-4 p: xzps -10-14 b: bjbbbbbpbdbbbb -5-7 v: jlvhjtvx -6-9 r: bscrrrrcrphffdw -5-7 r: brrvjrxfrljwxp -15-16 b: bbbbbbbbbbbbbbbb -7-8 h: bchfxxshh -2-13 z: zzqzzzzzzzzzzzz -1-5 b: bbbbrbbhbbbbbcb -2-3 k: zkkzjld -4-6 f: fnffffff -8-11 d: qdvdddddndphdndmgdkp -17-18 q: qqqkqqqqqqcqqqqtqq -11-16 m: mmmwmwxvmmmmmmmmmmm -12-13 v: vvvvfxvgblvvk -4-6 v: vsvvvvv -2-4 p: rqgm -7-8 r: rrrrrfrf -2-4 j: xpjjl -7-8 b: wdpbvwbb -15-16 k: fkkkskkkmkkkkkkk -10-14 s: shkscsqjszstssv -3-4 l: lllw -2-4 n: gjbnlsxvqmvxgcwntvvs -6-12 l: lclllgllllllll -16-17 b: bbbbbbbbbbbbbbbbbbb -7-8 q: pqqqqqwq -1-2 r: rrzsr -1-3 r: rrfr -16-17 f: fffcfffffjfmrzqffnr -15-17 h: bhzhhfndwgdhlhhhjh -7-11 t: vtwnrwzczmtwn -3-6 v: vvvvvmvvvvvv -4-5 s: ssptsss -1-3 t: ttntq -5-9 g: ggggtgggcg -7-8 h: hcjdkphhb -15-17 j: jjjjjmjjjjtjgvnxk -3-4 q: qqqq -5-7 g: lggsjqlg -11-18 m: mmmmmmmmmmqmmmmmmf -1-14 x: xxxxcxxxxxxxxxxxxx -7-8 f: ffffffbffff -3-4 t: xmct -3-4 x: xxtcd -1-11 x: xcnxxxxvxlxkmcrxn -8-11 h: hgnhkhhshhnhhzdhllw -8-10 z: zdzzzzzrpvvzzqz -6-7 r: lrbrrprrxr -6-10 n: fnnwnpnnjnhmnntqn -10-15 b: bbbbbbbbbwbbbbbbbbbb -13-16 z: zzzzzzzwzzzzvvzkztjz -5-6 t: xntkwthxbdtlmxtpzz -5-13 r: njrlghrrxfrfv -11-14 s: vssnzksspscrss -7-10 c: gtrkbcxccccccchch -6-11 v: vvsvvvvvvvvvvvvv -17-18 b: bbbbbbbqbbbsbbbbsnbb -13-15 x: smxxxjxmmkxxxmxx -10-11 h: hpqqwkxnfhd -15-16 j: jjjjjjjjjjjjzgjjwjjj -3-5 f: cjcff -3-4 z: hnfzzzmq -11-14 c: cccccccccczcckc -2-7 t: tstmdtk -2-3 f: wffkfm -7-16 w: tvgdzjjqlwzknwvwgzh -1-2 d: dzdqpn -8-14 j: jjzqjxjjsjrngzfj -6-9 h: xknzmlzpbpzcth -2-5 j: njmnj -10-15 z: kfqlljdfzzczzmp -7-12 g: gcqwnmgjhcrjnzwcmw -3-4 h: hhjhh -5-16 d: ddddddvddddddddddd -1-2 p: fwwtpllzbmjbwcnkbh -10-18 p: vhpwpppxfppppvppdh -2-6 x: rqgqgx -11-12 m: mhpmmmmmmmmmmm -3-4 z: lzzf -5-8 w: vfwwmlwfvwwwwlh -3-10 t: ltgtztzlct -7-8 k: kkkkkkmk -10-13 b: ndflbblbchkbq -18-19 z: zzzzzzzzzzzzszzzzzzz -2-5 n: nlzrmkhz -14-15 v: vwvvvvvvvvvjvmcvvv -13-15 p: ppppppppwpppxph -6-9 k: jvhxzwkkwkzv -9-11 s: snspssslkss -13-18 j: jgjrjjjjjqjjjhjtjj -5-7 v: vgvrhzvvv -1-7 t: ttttttttttttt -8-9 n: nnnnfnnnj -2-5 x: dxcrxhstqwldt -6-12 s: dkshssdsltspgcb -2-7 k: kkkkkkkk -7-13 d: vbjsdddfstdhtdxl -12-17 r: nrrgrrsrrrrkrrrdt -3-5 w: wwwjw -5-8 l: mlfldllll -4-5 m: mmmqm -9-10 j: sjtmlxjrzl -2-14 h: hhhhhhhhhhhhrnhhwh -3-4 b: bbbw -12-13 g: gggggggggggzg -13-14 t: tttgtttrztstltlhb -14-17 s: fhdxfshbglsvjsgbs -9-13 x: xxxxlxxtxxxxxxx -2-3 j: jjtn -12-13 n: nnnnnsnwnnvmq -3-6 z: gzzzbzmzzzmz -3-4 d: ddnt -2-7 s: pswmrnsrgb -8-9 q: qqqqqqqdv -5-6 s: sdlcqs -6-10 f: jffwjfhfff -4-5 p: pmpppps -9-14 p: pppppppppppvpppppppc -3-9 n: nsnpnmmnnwtnvb -3-4 b: bhzh -7-9 g: ggggggggng -10-11 x: xwxxxkxxxjxqxxxbbxx -17-18 k: kkkkkkkkkkkckkkkkk -3-4 v: vvrv -12-14 s: vdsrgdsghxcblflbwj -8-13 h: gxzhhbkdgfdglfqqcls -4-6 m: mmmvmfmmmmm -2-13 b: lbtzwffqfrfhbwb -1-3 r: lrcr -3-6 j: cjtcjj -5-8 z: zzztzmzz -4-12 t: wttrttvtgttztttdttst -6-7 n: zbfvmngknrzfzqpwhtx -12-14 g: gggggggggggggbgg -6-10 k: jkkkkkrkmbkdh -14-19 m: mmmmmmmmmmmmmmmmmmfm -2-4 d: sdft -4-10 g: bgtgsbjcqgt -2-4 t: trtqt -7-11 b: wjbbsqsvpkpb -12-14 z: zcfqlkxghjjpjzsc -3-4 g: ggjt -5-7 r: zdrrqrrrrrr -15-16 p: brpvpplmhvnbxppc -15-16 b: bbxbbbbbbbbbbbbb -8-11 c: hscggrpcpbxrxwgsv -10-15 j: jjjjjjjjjnjjjjmjjjj -4-6 g: bgkghgc -9-15 c: ccjcccsbcccspxc -2-3 v: fjzb -2-3 h: hhhxlchhwmjjzj -4-11 x: xxxxlxxxxcxxxxk -6-11 d: dvpdmdddzch -5-6 j: jjjjjjdjwj -6-12 p: pppppxpppppbppp -1-7 q: xqqqqqqqqqqqqq -5-6 w: xwwrtwjpwgsw -11-13 k: kkkkkkkkkkckfkkk -2-3 m: qbmnxlwmldmmc -2-3 w: jqlwws -6-8 k: kkkjbkmz -10-12 m: mmmmmmmmmvbm -6-13 n: hqnkdmwnxnwndnxgl -1-5 j: jjjjb -16-17 x: gxxxxxsxxbxxxxxmp -3-10 s: ssrsssssss -3-4 s: rslpsx -1-10 g: qgggjgwqzggvzflmj -8-9 g: gggbngqghg -1-3 q: qqqfj -3-5 m: mmmmzmmmmm -7-8 q: qqqxqqgqq -1-2 j: rpdjrrt -7-10 v: mdzpkvvdpv -12-14 m: xzmmjmhmmmmktmtmmmm -6-9 m: mmvbmvmzm -7-9 c: gcccqmlhc -6-8 z: zzzzzznrz -4-7 w: wwwmwwww -1-4 h: vhhhhh -13-14 z: xzzzjzzzzzzfzz -1-3 l: jlqml -10-12 f: wdbfzsbwffgf -4-8 p: vjpppfppxppjmctw -18-19 x: zkxbllxbtbzggncfxxx -5-6 x: xxxxhxxx -2-6 v: tvdprvvrvv -5-14 k: jkdhkhdhjgmtkk -1-2 k: sskk -5-12 w: mvqtkwwmcwwlkw -2-6 v: gvmlvv -12-13 p: ppppppppppppbp -3-4 r: frrrr -13-15 r: qrrrrrrrrbrrrrr -5-10 b: bxkbrbkdtwwrbkskjpc -4-5 x: bxrcx -12-15 f: ffffftjfffffffzfff -6-7 g: ggggggzgvxggg -10-11 w: kgwhvwwwwtcwp -9-10 j: jjjjjjjjpjj -5-12 t: pnbsttwccrtvttm -2-8 c: wcccccxfccnkvrllg -2-9 j: frddhfbkkj -9-11 m: mmmmmmmmtmmm -9-10 m: mmhmmmmmtm -2-4 r: crtr -14-15 v: vvvvvvvvvvvvvlrv -5-6 c: wccwctch -1-13 c: lcccccccccccfccc -12-15 x: zppxdwxtplfvzfxlwl -4-18 c: cccccccccccccccccc -2-3 c: xcccc -1-7 q: qvfbcfqx -6-9 k: lkbkhkkmsjlk -7-15 w: wwwwwwwwwwwwrwwwwwww -2-5 s: lscsssqsn -16-17 n: nnnnnnnnnnnnnnnnznnn -4-5 g: ggggggg -2-3 w: mfdw -4-5 r: rfrqh -3-7 f: vfpfbzf -8-9 j: jjjjjjjcbj -10-13 p: pppppzpppppppp -8-10 t: tntbgchftpttttttfttt -4-7 r: rlrbsmhnrqrbxrnlrm -13-17 m: vkmmmdhfkmtmgmxhk -9-11 t: ttttttttttt -16-17 g: gggggmgggfgggggsggvg -5-7 w: wpffgdw -3-7 r: rrzklzbmrrr -2-3 l: tllcqnlwfvlfmcgssg -3-4 q: qqqp -3-7 x: xnxxxzcxrqwx -7-18 s: shssssfwssssssksmss -1-4 r: rrrrmbc -2-6 t: tttdmsmtg -3-5 h: tmhbh -4-15 c: ccccccccccccccccr -8-10 v: vvvkvvvhvk -3-6 r: rsmzcrhqnxljrnnd -2-3 s: msss -10-18 w: wwwwwwwwwwwwwwwwwnw -11-13 j: hmwdjqjhjbfdrhj -5-17 x: hxpnccxhwlsxxdmxxd -4-5 t: ttznj -6-7 l: llllllqll -1-3 q: qsqnhqm -4-6 t: tdtttthc -16-17 x: xxxxkxxxxxlmxxvxfx -7-11 r: prtrxrprrrrr -5-7 j: mjjqjjg -3-8 l: rnllnklplllllllll -10-15 p: pppppppppdppppp -2-6 g: grgggx -3-4 s: ssqss -1-4 t: tttq -6-9 w: fxvvndkmwlskw -11-12 c: cccccccccccp -4-9 b: bbblbbbbbbbbbb -2-3 g: hggnbw -17-20 x: xxxpxxxxxxhxxxxxfxxx -1-2 f: bpvf -3-5 j: wjbfjw -13-19 m: srmmmmmmmmfhmgmmmqs -10-16 c: cccgcczcccccccbcfcct -11-15 b: bzpqpffbfqslknb -2-5 t: stnztmvjg -3-9 h: hqxhxxhhwh -2-4 r: rvrz -2-3 p: pppk -7-8 s: sskssjdss -5-9 x: xzvjjkmqzthpht -12-13 p: pstcvcjlnwsqphwnsr -3-15 p: lnfhbvnpmfztbqppcf -14-18 l: lllljllllllllllgld -4-5 g: gctggxhgpxkx -7-8 q: qqqqqqrdq -10-13 c: ccccccccccccc -4-9 s: sssnssskwsbfssssss -10-12 g: zgpgghbggjqgggkggjg -3-18 m: mmmmmmmmmmmmmmmmmkmm -1-3 z: jzzzz -1-4 k: fqqwmd -4-8 r: wzbrhxrw -2-13 x: fzvhrqwcrjjzxprnxlk -9-10 q: qqjqqqhqqr -4-10 g: mnlggbkdhrgtndk -4-19 w: wksmppsqrpppfkdzlrg -6-7 k: kkkkkxwkk -15-18 t: tttttttttttttthtttt -8-13 k: kkkkzkkvkkkktkkk -1-5 j: jjlqrwsjzkjbl -6-9 m: gmmmdmmmbmmdxmg -4-5 r: gdbfmxnrmc -3-4 h: rhhhh -2-8 n: nnnnnnnln -4-9 x: fxgwflwxblgnwxv -3-6 x: xmkxxvxxs -1-15 g: jgggggpgggggggpg -2-7 n: nwnnnnnn -2-4 r: hrwcr -5-8 x: tbbtxltxdsftztx -3-11 r: rzrwrdbqkhrbldrgph -2-10 j: jljxrjjxjv -17-18 b: bbbbbbwbbbbbbcbbtb -10-11 w: wwwjwwwwwrw -1-2 h: qbhh -2-3 r: rvjr -10-13 b: bfbbbjxbbjbbwblc -2-4 j: qjdt -4-5 j: jjjjjjbfjj -11-14 d: pssdgpplqjdzxr -4-8 x: zxgxfxjhjxgv -6-7 g: gdnhggz -3-14 f: fbfffsjffffffgfffff -2-7 f: qtxmpvfscrbgxfq -6-8 w: wwwwwlqwwswww -2-9 g: gbnwwncws -1-4 t: ttbctt -3-4 g: gggbl -5-8 h: hhhhhhhhh -9-16 n: nnnnnnnnnnnnnnnnn -3-4 x: xxxxxx -3-4 l: psgl -4-7 p: pppntst -4-13 m: mvdmnfnnpxjtmgnwgc -9-15 p: pprtppppwnphlhf -7-10 v: vlvvbvqtvp -11-15 k: jmckdsmvzptdslkkjqf -2-3 p: cwkf -8-9 r: rrrrmrrhhrr -7-8 h: vhhhhhhjh -4-5 z: zzhznzk -10-13 n: qnnnksnsnvnnnnt -1-4 m: jmmmmm -5-8 w: jpcmlxtwzvhww -10-12 k: kkkkkkkkkkkkk -11-14 g: ggggggrgmgggnhgggg -1-5 z: zzzwz -2-4 x: xxxxxxx -6-14 c: cccccvccccccckc -11-12 z: zzzkzzbzzcvz -13-18 p: pppppppppppppppppxpp -9-14 c: tcnphlfkczmcpc -7-8 n: wnzmjcnn -7-11 p: ppspppmdppp -2-6 w: wdwwwww -2-4 w: qzvw -8-9 j: njbvchssj -2-7 b: fnbbbnp -3-4 c: ccqv -1-5 x: xxqxdxx -3-9 w: wzwptwtwwwswbqmk -17-18 x: xxhplchxxxxxxxxxgm -4-5 g: fsggvmg -1-12 w: lwwwwwwwwwwwwwww -3-4 b: kbnvg -2-7 t: ztttmfftttrtttt -2-3 n: wqvnsn -1-6 z: qfddndzzg -15-17 z: nfzxdmgdvjzzpqdjt -1-5 g: mggglgggg -5-13 x: xxxxgxxxxxxxrxxb -12-13 x: xxxxxxxxxxxcx -5-6 r: prrvrrrrh -13-14 h: hhhhhhhlhhhhmz -8-10 j: jjjjjjnlbjhjzjljj -1-7 w: wwwwvwkwwb -4-5 h: hpshh -2-12 f: vhptghgvhqsf -16-17 w: wwwwwwwwwwwwwswzww -16-19 x: jltfxxfgkkxnnxjkrxz -3-13 s: ssfpvsssshssrxss -4-9 q: qsqqrqqqqjkqqkqv -9-11 h: djhvttnrjzh -2-3 j: jjjz -3-7 j: jtjqgmj -4-8 p: ppnpcpppspgpc -9-13 s: sssskslspdsnss -6-10 m: mxzlmmmpvgm -10-11 c: cccccccccwnc -6-8 f: klkqkthgzfbb -7-9 t: tttttttmx -2-13 r: nrlmjrhxwnjsrwfx -12-13 x: xthxxwpxsdxmj -3-11 r: nqgznrmqhcm -3-4 c: rqcxmgc -12-14 f: ffffffffrdfjffff -14-15 d: vdddxdddddddddddd -4-8 m: mmmcmkmmmmmkh -3-4 g: ggcggsm -7-10 p: pppppphppw -11-17 f: fffftfxbffffffffrff -1-18 f: ffffffffffffffffffff -4-6 x: mxnxkx -3-7 g: ggrlrmhggl -1-2 b: pbblqxtlztwcbt -4-5 c: ccccz -1-4 k: kqkhkkkk -9-12 v: vtvvgvvxvvvvv -3-4 g: ncgbnrvdbrm -9-12 t: tttttttttttttttt -14-17 c: crncccqdsjcclcxcmdw -8-10 h: hvhpghvhnfhhh -4-12 p: ppplpppppplnpppp -4-5 l: lrlllllnlllq -3-14 p: ppnppppppppppcpppppp -2-5 v: vmvvbv -6-7 v: vcvvvqvvvvvjvv -4-5 l: llllhl -5-12 h: hjhphkxhkcqh -6-7 f: fbskrlff -4-5 k: rkfnrk -1-4 q: tqqkqkqqcxq -6-7 p: pppppxp -1-2 f: fnfffffffffw -5-18 p: ppfpppppppppppppppp -1-5 d: dwndd -8-9 h: hhhhhhhhh -3-6 l: llllllllll -9-10 r: gvhwsfbckr -7-16 h: hhhhhhhhhhhhhhhhh -1-2 j: tjjlj -5-9 b: tsvwbmbvbk -1-8 r: vrrkbsrrrrkrrcrr -1-5 b: hbbbbbs -7-8 j: zgjwjcmnjjjljnvjjgj -11-15 z: zqzzzxvzzdmzzzzz -2-13 q: tqqnzjjxvcsvqksl -6-10 f: fqqczfhfmf -2-14 v: vcvvvvvvvvvvvvvv -1-5 c: kgcdcckbc -3-5 r: rrdrr -15-16 f: ffffffffffffffmbf -10-11 s: ssssssssssssxssnss -9-10 j: jjwjjjjjtkj -4-5 v: vfdvv -2-13 z: znkpztzzzzzzznlwzz -3-4 r: lrrm -15-16 n: nnnnnnnnnnnnnnsnn -6-12 n: nxnnxnnnpnnnnvn -4-8 q: lqsqdcqq -15-16 x: xxxxxxxxxmxxxxxtxrx -6-17 h: hhhhhhhhhhhhpjhhh -11-15 c: cccccjccccpcccc -11-12 r: rrmrhvzgrtrd -3-7 b: bwmbbblb -8-13 v: zlvhjhjhtwtkbxqqw -6-9 p: pppppfpppppk -2-5 r: rcrrjr -14-19 f: gfbrfsffprfffhrffzm -3-6 r: rrsrrtr -4-6 j: jjzjbz -1-4 l: jllnl -6-7 z: zzzzzppzzzzzz -17-18 h: xjvnmlhhnlxltrdltgr -2-14 z: xhtwcgngdxlzhnv -3-5 v: xvvrvvv -11-14 v: dnhpmxjvmwrknvvpr -8-17 w: vnwpmbbpmcwwgpwlwh -4-5 f: fffjl -13-16 v: vzvgvvvwvvvvvvvjvvgk -8-9 n: nnnnnknnn -18-19 g: gjgggkggggkxgpgdglh -2-4 t: ptkzwltkr -17-18 q: qbmbqqlqqjqqhtqfqq -3-6 r: rfkmhfd -4-7 h: fghxhhhh -4-5 s: spsxv -3-5 k: dkpkzkl -7-10 n: nzpnnnlnnsnnn -3-4 h: hhnh -19-20 r: rsrkmcrhkqfrfdqmlvxq -9-10 m: mmhmwmwmmvm -3-9 j: jdjjjjbjwjjjjjjjjjj -1-2 s: mpsscts -3-4 g: nghj -6-10 x: xxxxxnxxxhxx -10-13 t: tttttttttqttvtttt -12-13 s: nssssssnsjrss -7-9 z: hjkzxlzrczhhmm -16-17 s: sssssssssssssssfpsss -4-5 x: xxxxx -2-4 c: bppcccfwqs -4-11 w: wwwwwwwwwwwkw -6-8 m: hdxjhkpjdjmrql -2-19 k: zkhcfxztkgltmqbdqxj -1-3 n: gnqnnnnnrnnn -11-13 f: ffffffffgfmfkf -1-5 z: lwzkxzjzv -11-12 m: mhlxvjmrcffn -2-7 z: cqhbjlbzh -3-18 k: kdkkkfbkgwkdknkkkzjk -9-10 b: bbrbbbkcbbbbbzll -5-6 l: llplkl -9-15 c: vcgcngchvkvjsgcf -3-6 q: qqqqqwq -9-11 k: kxkjrpkkckkkkkskk -9-18 k: hbkrrwvctstksttkwrvf -2-3 j: jtjj -1-5 n: nnnnln -1-6 b: jpmbbbbqkd -5-7 w: wwkwwws -3-10 m: pxpwzblsvrlsxjpvpslt -11-12 j: ljjjjkjjjcmc -10-11 q: qqqqqqqqqqq -2-7 h: hqqhkbh -7-9 l: lllclmfslldrlsl -8-9 h: jhtvlvrhhhkhh -3-6 k: kkjkkkk -1-5 l: vllllc -1-2 q: vqqq -5-6 q: mkqhjp -7-14 l: lllllllrdlmlckll -3-4 k: kxkkrjk -6-8 l: pslrqlbl -1-8 t: gtzthtct -5-7 d: lhxkdrddf -2-3 h: hmhh -7-9 p: ppppvppppvwp -9-11 q: jhzvqqbqfnql -9-14 r: rrrrrrrrtrrrglrrz -11-12 s: shsssssssssbs -1-7 t: qtttttt -11-16 s: spgsmwbrshhldcsvvx -5-6 l: lkmlll -2-9 h: vdchgpmlhvxzjcp -4-7 k: xfkkkkkckmkk -1-3 w: wwww -13-14 c: cccccccgcwcccxdc -12-15 w: wrlwwxwwwlwwwfwcw -5-13 m: jmtjqmvkmpxdmt -7-11 m: nxnkxfgzcpfm -8-10 m: mmmmbhmmmk -11-13 z: khcksspxzwmznpl -6-7 x: xkxxcxj -8-11 s: sssrssssssss -6-12 h: wkzcnspbtjwchv -8-9 b: bbbbbbbkb -7-8 d: hxsjqfddxdb -15-16 g: gggggwgggggggggg -8-10 q: gqqzqmltqqlkqwtzgfn -11-16 j: kjsjjjjjjjckjjjj -2-4 s: vbfqcmgssqb -16-17 r: rrrrrrrrrrrrrrrrr -7-11 d: ddhdddrddtdd -2-3 x: gvpcx -4-10 t: mbftjndbttv -13-14 j: zjjfmsgqtgwdhd -6-11 s: qlqhssgsbvnsts -9-15 t: ttdttttvttttqttvs -3-6 l: lcvlll -3-5 x: mpdsxrhqlbcdx -1-4 q: kjqz -2-3 p: pncmptpppgp -2-6 l: tlbvnpllvxlgxhn -14-17 q: lgdsvqxwmhdwzhjsq -13-19 m: mmmmzmmsmmmmmmmmmmc -4-5 x: xxxxzl -2-4 n: nnrn -8-9 n: nnnnnnnns -11-14 l: bpmrcbhslcmxxv -7-12 p: ppmpvpppppkpfpp -4-10 k: kkkqkkkkkfkkkkk -8-11 s: sssfssssnssssss -8-16 l: xklrjlllrqlxhrkl -2-12 r: rrcrqrprhcrrrvrph -14-15 h: jrhhjhhhhhhzhmp -8-12 m: mmmmmcmmvwmmx -2-9 f: ffdffffmfqpffffffff -8-12 x: xxxxxxxgxxxr -5-6 z: zzzzzxz -14-17 j: jjjjjjjjjjjjjzjjs -1-3 f: qfjmrf -6-7 t: ttbttdq -8-9 x: xfxxxxxxxxbxxxq -4-6 q: qqpgwqbr -5-12 l: lqzqrtgjmzml -5-7 w: wwwnwjwwfw -5-6 x: znxdtx -4-5 x: qqxhvmxxxxz -1-5 n: nnnnnn -2-5 s: gxsnj -5-7 s: gssjssszst -9-14 h: zjhrdpjwhkppdf -2-8 t: ftgttpcttxtvnttntjs -1-4 t: lttl -8-10 f: fffffffffrf -3-6 q: qvqxrhd -9-10 j: zrfxvmhgzcnkthzs -5-7 q: rqtqxqq -2-4 j: jxnj -7-8 c: fccccczkc -1-2 x: xktx -5-6 t: tttqkt -3-4 m: crbhwmq -5-7 d: ddddhdcd -3-4 w: wwcn -2-7 d: dmdddcd -6-7 l: llzllfg -5-8 l: llxllllllf -3-4 s: lspsb -1-6 k: kkkkkdk -6-12 x: ztxxmxxqxrxxxcxx -5-12 p: fpngpxprbqhprvj -1-11 k: kvkkkkkkkkkkkkkkk -2-11 x: qxxnxxxxxxxmxfxjsg -12-14 r: wzrrfztrbrrrztgrgrm -1-4 r: rbrlrj -14-16 d: dddddddddddddsddd -8-15 l: lzllmllclllljlll -7-8 l: qkgqklzzllqclqlfjl -1-4 g: vggggg -12-13 c: krbpskrctrvtc -3-6 t: btttttmkt -8-12 t: tttttttttttltttt -10-16 k: kkkkkqkkkkkkkkkw -5-6 d: ddldvkd -10-14 v: vvbrvvvkbvgvvr -4-13 v: vvvcvvqcvflrph -7-17 x: qxfxxxxvzslqzzbcx -9-10 g: ggggggggvjggggggggg -3-4 p: hpppkp -1-3 s: lstcssssv -4-6 n: nnnsnmnnn -2-6 k: kkkknkvkg -1-2 c: cccccc -8-13 h: hhhhhhhhhzhhv -10-13 h: hwvhhhhjhhthhhhlxh -15-18 p: pzpgpppppgpxpppbppnp -10-11 n: nffrjnmbnxj -5-9 l: lllldrllbzljsw -4-8 j: jjmjjjrjsjjjjj -2-9 v: vtzlvvdjv -2-3 g: ggcf -9-15 b: psxgbbcjbbhbntb -15-16 q: qqqqqqqqqqqqqqqz -11-12 c: dvgckwdtcccc -5-11 s: nskssssssfwb -2-7 p: pdfdnpqppzpp -3-7 d: dcdwnmdgnstt -13-14 w: hwdsrqmdmxhlkm -5-7 l: lzzdzlvrtgzllcn -5-6 t: bttttvt -6-8 c: crcczxckcc -5-7 g: gmvgggg -7-9 g: gggggglgqgg -5-6 t: ttttrt -2-3 g: sntggpm -4-6 m: flmmsm -9-12 w: wwwwwwwwwwjw -6-13 x: cfxrwlljbnzlb -13-16 v: wvfcgrgfvggjcbqv -7-8 n: sdnrsnhn -1-3 q: qqqrqmjfq -4-6 s: bzdsslss -1-5 f: rfffcf -4-5 s: sssss -4-5 h: xhkhhh -10-11 g: ggjdgpvggggx -9-10 v: vvvvvvvvjvvvjvwvv -3-7 b: fbbmzbblqzvfgpnrl -6-11 h: hhhhhlhhhhchhhhh -3-4 l: llllstmhwlchzd -3-7 t: xthsjgtcblcszn -2-17 f: kfjwdtmhzjzlvhpjf -2-5 b: rbtbg -9-15 z: mzzzcfzzzwvtzqgbzjzm -6-12 f: qgtzmktjffmfn -11-17 f: flcffsqwlfjvbcffb -5-6 r: gsdrrr -13-14 b: bbbbbbnbbbnbbbbbsb -2-9 b: bcbrvbvbbbzb -3-5 t: tkttft -6-7 v: vcvlqvdcvdh -7-13 w: wwwxwwwwhwwwlqwh -5-6 z: zkhpzzjtnkjzf -7-9 p: pppppppppppkppppp -4-7 p: spppfjmc -8-9 k: sxnkplwfz -4-5 r: clpgrr -7-8 m: mmmntmmmpmmmmrmpk -4-5 j: jxbjnxj -3-10 b: jwbclnqzdbnb -5-6 r: rxbxlnsmrrfr -3-4 f: fvfsbq -2-4 x: sxxxd -7-8 p: qpppppprpp -3-4 q: qqqq -6-8 n: njwgnqntnnn -6-10 z: zdzzgzzzzj -6-9 d: rwdlfdrtd -5-6 l: skllpxslll -5-7 d: dwdznhddttljdnvkdws -1-3 d: dhdc -1-11 s: sqgzsrrvgms -8-14 w: wvvwrwwlwwmwwwn -11-12 t: ttbttttttttttttt -17-18 f: lfffffmfffffffffkff -17-19 k: kkkmzkkkrkfspllkckb -4-7 f: fxfjtdfcxff -4-10 h: hhhrhhhhhhhhhh -6-7 p: ppkpppppp -5-10 c: hccpcgbkbctctp -5-11 l: llllvljllltlllplll -5-6 c: kcntkj -16-18 m: mmxmmmmmmmlmmmmwmmm -4-7 b: bbvbbrbb -6-7 n: dbrqnnn -3-4 h: hhhht -11-13 s: sssssssssvlwxsfj -3-9 g: zrsdrgrzgghxj -14-15 f: ffzgnqfrclzgxfffff -7-8 c: cccccccbc -5-8 s: ssssssssss -8-15 k: klkkkppksvdrknd -4-6 h: hfhhjljh -8-15 c: cxljcccvhpklxcr -3-7 h: kpnttrczt -14-16 p: tqxpdpddrwfxgjvc -12-15 j: cjjjmwjdbtpwjmjcg -11-17 n: nnnnnnnnnnnnnnnnln -1-8 s: sssswsms -9-10 w: wwwwwwwwww -6-16 v: gvfjvvvvvqlsbrvvd -3-8 q: rvfnrfvsmjk -4-6 w: wvpwtww -7-10 c: xcctfssplcdqrpqs -4-10 j: mjcjjwvjwjm -7-11 w: qmwjfrjpjkqww -6-18 r: qvvthtbxlkrnvqzvlf -10-12 f: ffglffjffffctfffff -6-7 x: xxhxtfpqxxx -9-10 t: tttttttxtt -3-10 j: cpqxwljhgjldfns -15-16 q: mqqnqfqjfqqqzqqt -4-12 f: fffffffffffvf -4-10 s: ssssssszst -1-6 x: xgxxxxxxkx -2-4 z: zzzb -11-13 j: jjjjjjjjjjjjv -1-2 j: hjjd -4-12 h: hhljhhxhxnhr -6-10 b: bbbbbkbbbv -7-8 m: mmmmmmgvmm -9-15 h: hhhhhhhhwhhhwhhh -1-2 g: gvglg -4-10 v: gkbvgntvrvv -9-10 p: mjpppbppnpjv -1-3 w: wwwtww -1-7 v: vmvsgjdfdpwtvqqfsh -10-12 c: ccccccccclmcccjc -13-14 g: gggggglgrggqzgggvbgg -1-6 p: mhptnp -10-11 n: nnnnnnjnnpxxn -2-5 l: tllcc -13-14 j: zbvlwljjgljwjj -10-11 p: ppppppvpppjppvp -12-18 c: cccccccccctdccccch -15-16 j: jjjjjjjjjjjjrjjj -5-8 t: gjkttztjt -5-9 k: kjkhwdvkk -5-7 p: pjvpppp -2-4 w: wwwhwlwwm -4-5 m: mmljm -6-15 b: rbbncbrvmdvbbqb -13-15 n: nnnrnnpdfnnqnnncnfnn -2-11 r: srfhtxczprbx -3-6 n: nnnnnh -15-16 v: vvvvvrvvvvvvvvvvr -7-8 m: jphmmmmft -4-6 p: pppjpvp -1-4 g: dggkgg -1-2 p: zppsp -6-7 b: bbbbbbbbbbb -3-4 x: vxsv -9-13 t: pqtqttttkxtghv -10-19 v: vvvvvvvvvvvvvvvvvvxv -6-13 z: wnmzkzzqftzmc -6-13 l: vklgsrjrkjpzlqll -3-6 h: mwhllh -1-8 l: blllllltl -3-9 v: glxlzpffvgvmb -2-5 s: sssstss -3-9 t: tfptcrhtlzqxcv -9-10 t: ttttttttttjttt -9-14 h: ktwphtsnkmlzwd -3-5 z: zzznz -2-3 t: twtt -3-5 f: ffffsf -17-18 w: wwhwwwwwvwwwwwwwnsw -3-13 w: wwwwwwwvhwwwwpwww -7-8 n: pjnxnnnntpwnbsjnnz -2-4 v: vvvjhvv -2-9 d: dmddwcpnqdddszpb -3-4 q: qqrqqh -1-2 d: czdd -1-4 d: xsdzrms -1-3 n: znxnnn -5-7 r: rrrrnrzrr -2-5 c: ccccxcc -6-7 c: nccccdc -1-4 s: bslsrvgjdfsgf -10-11 j: jcjnjjpjlhh -8-12 k: lzrvvhtkkpbkfwjzcmz -10-13 b: bbbbbbbrsnbbmb -2-9 s: hswtzhlss -6-7 j: cpnjjjf -11-15 p: pgppqsfjcpbnmqp -4-6 k: kkkfwq -10-11 c: rccccccccccccc -5-14 d: bmfppdgvccmbdqpx -7-8 v: vqnvvqvvvvjvv -7-16 f: ffffffkfffffffffff -14-15 r: nbdlfkrbcrxbcts -13-14 v: vvfvvvvvzgvvvvmvv -1-12 l: glwdllllpllltll -3-9 x: mnxpljmxnm -4-5 h: rjqhbxnvkc -13-14 z: zzjzkzzlcbzpjzzz -2-6 p: tnpppp -8-12 n: kpjfjwpnwlzqhwbz -2-15 q: jqkjkbzcwvvqbxq -2-3 l: llllll -15-19 l: llllllllllfllllllll -1-3 p: pkzkpsvdptz -1-8 f: fffffffvfrf -1-11 j: prdqjlhjdvljjvjmhnm -10-16 v: stshngzvzvvvnffv -10-11 m: nmmtmqmmmmb -4-9 t: nzttkfcvrnd -18-20 t: bbttltktrgtntgtzhtct -4-6 p: pppglp -7-13 g: vgrccggpbvxgl -5-7 l: lqllvld -7-10 w: wswwwwqrww -7-8 c: cncczcmlcmcx -1-9 d: ggjtdddcqcmpd -4-7 q: vdkqwnqkbsdqxwwth -5-6 s: ptjwxsz -7-14 v: vvgbvtvvxvzvwvvc -4-8 h: tmjhhrndwlh -6-7 w: wwjvswf -2-9 v: vvvvvvvmv -2-4 c: hcgc -2-3 x: xxxx -6-15 h: vnbhwhhwtzztrlh -13-16 k: kkknkkkkkkkkkkkrkk -2-7 b: nbfxslbqblbbbbbbl -9-11 k: kkrqkzkkkvkshqkbkkhk -9-13 j: qjjjjjjvmrjjjjjjjj -7-15 h: zhqhhhjbhdhhmhfn -3-5 t: vtvstkkttftttt -7-8 h: hdhhhqhhnnfqwhzhdlsx -16-19 k: kkkkkkkkkkkkkkkfkkd -3-4 f: qfjsxfnsfq -13-14 t: ttjftttcttttptttt -8-9 f: gjmfffgrq -9-10 m: mmpmmljmmmmmm -9-10 k: skttkrjkkb -3-4 k: kkgk -1-6 h: vhhhhvhh -11-19 z: zzhzzzzzzzzvznzzzzgz -9-11 z: mzzzzzzlzzbz -7-16 c: tpcwtwcbljrnztwrsdd -13-15 b: hnrbfgqwqwqhpnc -2-4 g: fgsdg -2-3 k: kklkkqkhklkkqb -8-9 g: tgrfdbvgfzqvsf -3-12 j: jmjvwqrpsjvc -4-10 v: zvhjvtpjgvvd -5-6 p: fgplzd -9-13 r: csngrmrxrqvhdwfkvns -7-13 q: qqqqqqqqqqqqqqqqq -11-16 l: cvlxgkdmltldzsplzz -8-11 z: znmhzzcpbzz -13-14 x: xxxxxxxxxxxxxhxx -11-20 c: qmhcvthqctdtscfcjcck -14-15 l: lnllllslwjlllll -5-7 p: qppptqm -1-7 f: chffvqfrdffbcmqf -8-14 h: hhhbhhrshhphhl -16-19 j: tgsjqjwjjjbcjtjjjjj -3-4 p: jzppdrzpkgcxdljgm -5-6 z: zzzzgzzz -3-8 t: nvzdttst -4-6 x: qfkznxh -9-18 d: ddddddddzddddddddl -11-17 x: xcxrxxxxxqzrxxxxxxx -3-4 l: lmll -10-13 f: fffffffffffffff -7-9 v: mccgvfvlh -9-10 m: ddmlmtmgmmgmprmbmpqm -5-10 v: vvvvjvvvvvvvvvx -3-10 v: dwxdfjhxgsznhzqsqnd -1-3 k: xkrkkkkkkmp -2-5 c: dcrscf -1-10 p: ppwpwppppppljtppr -3-7 r: rrrrrrbrdr -5-9 t: ttttjtttttttttt -4-5 w: wwwxr -6-11 f: rtwzsffhxplnwrzpwwj -3-9 c: klcdzfchcnxcccnccpc -3-4 g: mgnlg -1-5 f: kffgpffft -3-4 l: qlsvllnl -2-5 w: vwwwwwwrf -11-12 n: qcgnnznfnmnt -6-13 d: rbbzghqwwmrdkssgn -1-3 x: hdxnqxtphtmk -10-13 w: xwwwxwcwrfcwm -9-10 p: tpppfxvbppppgpnvfzcv -8-13 h: nhqhqhthmpmnhlch -11-13 z: hjkftzgzlfhjjh -9-10 t: tttthttpzt -2-8 g: vghggdbfggrfggrgggrt -11-16 g: gjzgfnggggsgggzh -6-10 r: srmjvrrrlrrrhrl -2-11 d: ddddddddbddddd -5-6 j: jjfjjjj -8-11 s: ssssssssssqssmssss -4-5 v: vvvhp -5-7 c: ccqxvklbc -8-9 q: qnqfgqvqqqdwzqmcq -3-5 q: zbqqq -6-9 g: kkgzgwpvgt -1-14 h: hhhhhhhhhhhhhhh -9-10 w: swwwwwwwjq -1-13 j: xjwjjljjjjdjjjjmjj -11-13 m: smmhmmcmmmkmdmmmmm -15-17 p: ppppppppppppppsps diff --git a/input/day_03 b/input/day_03 deleted file mode 100644 index 6333a60..0000000 --- a/input/day_03 +++ /dev/null @@ -1,323 +0,0 @@ -..#...##...###.........#..#..#. -#.###........#..##.#......#...# -#.#.###..#.#..#.#............#. -.##............#......#...#.#.. -..#..#.....##..##..##.......... -...#...........###.#.##........ -....#.#...#..#..##............# -....#....##...##..##........#.. -.#..#..#....#...#..##.....##... -.#.###..#......####........##.. -..#...###....#......#.....##.## -..#...#.......#......#..##....# -#...##....#.#..#.......#....#.. -.#......#..#...........#....##. -.##.#......#.#.#.....##........ -.....#.................#.#..#.# -....#..#........##......#..#.#. -..#...#..##.......#..##...#..#. -..#.......#.............#.#.... -.#.................#.........#. -..#..#.#.#.#............##.#..# -.#.#.##.#.....#.....#..#......# -..#.#..#.#..........##........# -.........#...#.....#.#...#####. -##..#.....##.##........#...##.. -.#.....#....##.#..#....##...##. -.##.....#.#....#.#.....#......# -.....#..#.##.....#.#....#.#..## -#......##..##....##...###..#... -.......#..#...........#......#. -#...#......#........#..#....... -##..#.....##.....#...#...#....# -.###..##..#.#........#..#.#.... -#.#...#...#......##........#.#. -......#....#.#........##...#..# -.#.....#..#.#.....#......##.... -.....#.....#.#.#....###.....#.. -#.......##.#......#.#.#....###. -.......#..#..#...#.#.##........ -.#......##..#.........###..#... -....#..##.......##.###...###... -.##............#..#.##.....#.## -..##.#.......##....#.......##.# -#..###............#.#...#...#.# -...##.#.#.#..#.##........#.#... -.#.....#...##.#..###..##.##...# -..............#.#.#.........#.. -.....#...........#.#...#....#.. -.....#...##.##.#....#.###..#... -#..###.........#......#.#.#.... -.....#..#...##...###.#....#.... -#..........#.#.#....#..#......# -###...................#......#. -........####......#.#.......... -.......#.....#...#.......#...#. -.....#.....................#... -...#.#...#...#...........#..... -..#.........#...#....###..#.... -.....#.#..##......##........##. -..#.............#............#. -.#....##.......#..#............ -.#............#.#..#.##....#... -.####...##.#....#.....#...#.... -##..#....#.#.#...........#..#.# -...#..#...........#...#..#....# -.....##.....#..#...#.........#. -...##........#....##........#.. -.##.#...#...#..#.....#....##.#. -#.#...#.#.#.#.#..#....#....#... -#..#.#...#..#........#....#.#.. -....#.#.....#......##...#....#. -.###.##...#....##.#...###..#..# -###..#...##..#......#.........# -..#.#......##.......#.....#...# -..#...#........#.........#.#... -#....#..#.........###.#......## -...#..#....#...#.......##.#.#.. -....#.......#....###...##.#.... -..#.....#.#.....###..#####....# -##......#....#.....##..#..#...# -#...........#..#..#....#....#.. -.#...#.##.#.#.#....#......#..#. -.......#.#....#....#...#.#..#.. -..#.#..#.##..##...##..#..#..... -...##.##.................#.#... -.....#...#......##.#....#.....# -......#..##.#..#.#.........#... -.............##.#......#....... -..#.#.....#...#.#.....#..#..... -.........#..#.#......#..#...... -#..#.#.##..........#.##......## -......#.......#.....#..#.#...#. -.#....#....#.#.....#.......#... -#..#..##..................#.... -............#...........##.#... -####...#..##.#....#.##..#...... -#...#...#.....#.#...#.#........ -.......##.........#.....#.....# -.....#...........##......#.#### -.##....#.#.##......###.#.##.... -........#.####.......#.#...#... -.#.#...##.#.#.#.........##..... -....#............###.##....#... -...##........##.#...#....#..### -..#.#.........#....##.#........ -..#..##..#...##..#.##...#.....# -.#......#..#..#.........#...... -..#........##.#......#.....#... -.##.......#....#.#......#...... -#........#....#.####...#.#..... -##......#.............#....###. -..#....####.#.#.#.#...##......# -#.#.#.....#...#.......#...##... -........#...#....#..#......#.#. -#..#...#.#.##.....#.#....#....# -#...#....#......#.........##.## -..##.#..##............#........ -#.........####.........#....... -#.##.........#..##....#.#.#.#.. -.###......##..#.#.....#.#...##. -...#.........#.#...##.##....#.. -#..#......#....##..#.#...#...## -...#.......#.#.#.....#..##...#. -....................###........ -#...........###......#.#...##.# -.................#.#...###....# -...#..###..#.##...#..#....##... -###..#..#.#...#.....#.#.......# -.........#..#.#.....#.........# -.##..#.........#.#.....##...... -.....#..........#.#.##....#.... -........#.##.....#...##...#.... -#.#.#...#......##....#.###..... -.#.##.....##.....#....#.##.#.## -.#...#.....##.#.##....#.....#.# -...#.....#........#............ -##...####..#....#..##...#...... -#.......#...#.#...#........#..# -......#.....#....#..#..#.#..... -..............##.....#.##....## -.#..##.........###..#.......... -......#......#............#..#. -#.....###...###..........#..... -...###...........#....##..#.... -.....................#...#.##.. -###....#.#....#...#....#.#..##. -..#.............#.#....#..#.#.. -.......#..###....#...#...#...#. -.##..#....##..............##... -...#...#..#..#.##.#....##...#.. -#..#....##......#....###..####. -.##...#.#....#..#..#....#....#. -.#.##..#..#.........#.#......## -#..#.................#.....#... -..#............#........#...#.. -##.##.......#.#....#..#....##.# -..##...#.#.....#......#........ -......#.##.........##...#...... -......##.#......#.##....##.#..# -.#.#......####.#.#.#.#..#...... -..#.#....#...###....#.#...###.. -.#.#...#....##..###.#..#....... -..#.....##..#............#..#.# -.#...#....#.....#....#..#.#.#.. -..#....#..#......##...##......# -....#.......#.##.#.........#..# -#............#...##.....#..##.. -......#..#..........#.#..#..... -...........#.#..#...##.#...#..# -.........###..#......##.###.#.. -.....#....#......#...#....##... -..#.......#..#.#.#......#...... -.#....#.....#.#.#.##...#....##. -....#.##.##.......#..#.....#... -.#.....#......#.......#..#..... -....###.....##.....##..#.#...#. -#.......#.#....#.#.#....#...... -#...#..#.#......#...##.#....... -....##.##....#..#.......#..#.#. -.#.##.#.#..#.....#.#.......##.. -..#..#..#..#.###............... -#.#......##....##.#.#.....#.#.. -..##...#.........#.#..#.##..#.. -.........####...#.....##.#..... -..#...................#.###.... -..#.....#..#....#..#........... -.....###.#.........#.#......... -#..#..#........#..#......#..#.. -###..##...#.......#........#.#. -.#.#.#.###.#............##..... -#..............#......#....#.## -.#...#..###...###.#..#.#....... -.###....##.#.......#.#.....###. -.##.....#.#.................... -#..#.....#.....#...#.....#..##. -#.#....##..#......##..#...##..# -...........#....#..#.##.##....# -......#.......##....#.#....#.#. -###..#.#..........#.......#.#.. -..#.#..##....##............##.. -..#.....#..#....###............ -.#...#...##...#..#..#..#.#....# -...#....#........#............. -#.#......#.#.....##..........#. -....#..#...............#...##.. -........#..#....#..#..#..##.... -....#......#.#.#...#.......#.## -.#.....#.#.#........###....#... -.#..#.......#...........#...#.. -#.#.#####..#......#...#.#.###.. -...##...#.#.....#..#...#...#... -..#....#.....#..#....#.#.....#. -....#.......#.....#........###. -..##..........#...###.......#.. -#.#.##..#........##...#.#...... -....##...#......#..........#.#. -#.......#..#.##.............#.. -......#..........#...#....#...# -#.#.....#.##.#.#.............## -#...#.........##.##......#.##.. -.........##.....#....#...##..#. -#.#...##.#...#.....##...#..#..# -......##.#.....#.#.....#.##.... -....#.............#...#.......# -.#......##...#.#...#.##........ -...#..#..#...........#..#..#.#. -.#...#...........#.#.##....#... -..#...#...#.#..#....#..#..#.... -..###..##..#..#.........#.#..#. -....#.##.#...#.......#...#..... -.#.#.................#.......#. -.#..#.....#.##...#.#.....#...#. -.#.......#...#....#.......#.... -###....##....#..#...#.#..##.... -.........#.#.#.#...###.......## -....##.......#......#......##.. -......##.###.#..#...#.#.#.#.... -.#.###.#.#......#.#.......##... -.#.....##..#.#.....#...#.##.... -.#..##.#.....#........###...#.# -.......#.#...........#........# -..........#...##..##.......#.#. -...#..#..#...#....#.#......#.#. -....#...#..#....#....#.#.##.... -...#.#...##...#...##..#........ -..#........#...##.#...##.#.#.#. -...##.#..#.......###.#.#.#..... -..##......#.#.#.........###.#.. -.......#.#...##...#.#.......#.# -.#....##..#..#....#..#...#..... -.#....#.#.......#..#..##.#....# -#.#..##..#.#............#....#. -##..#....#.##.#....#...#..##... -.###.#.#..#...##........###.##. -...........#..#...#..#.#..###.. -.#.#.#...#....#...##.##........ -.....###.........#......#####.. -#.#.#.....#....#..#...#.#.#.#.. -..##.....#..#..#.#.#...#....#.# -......#.##..##..#.#.#.......#.. -...#.#..###.........#........#. -......#.##..####...#...#..#...# -#.......#.........#....#....### -#......#...#........#.##....### -.#.#..............#...#...###.# -.#....####...#..##.###.....#... -.......#......#..#...#..##.#... -...........#.......#........... -..............#...#.#.#.#...##. -.###.....##.#.....#..........#. -##.##......#....##..#.....###.# -#.......#...##...#....##...#... -##.#.##...#....#....#....#..... -.....####...........#.#......#. -......#...#....#..#......#..... -...#...##..........#.......##.# -.#....#..........#.####........ -...##...#..#...##........##..#. -.........##....#...##..#.##.#.. -##.#.....#.......#.....#....... -#..#....#.##.#........#........ -#.#...#...##........#.#.....### -....#...................#.#.#.. -.......#..#.#...#....#.##.#.... -....##...###.#.#.##...#...#.... -.#....#....#...##.#......#...#. -............##..#.#.#........#. -...#....#.....#......#........# -...#.#.....#.##.....#....#...#. -.....#..##.......#.##.......#.# -........##................#.... -....#..###...##.#..#...#......# -.#.#.......#.......#....##.#..# -..#........#............#...... -..##.......#..#..#....#....#..# -#...###.......#.##...#......... -.....#...#...#..##..#....#..#.. -.##.#..#...##.........###.#.... -..#.#..#...#...####.#...#.#.#.# -#....#..###.....#......#.##..## -##......#...##...###......#.##. -...........#.....##...#...#...# -..#..#.#.....#..#.....###...#.. -.............#..........###...# -....##............#....###.##.# -..##.#..##.....#.#.........#.#. -....#.#...........####......... -.##.###.##.#.#......#.##.#.#... -.....##.........#..#.......#... -...........#.........#....###.. -...#.#..#..........#.....#..#.. -.#..###.......##........#.#.... -.#...###.....#..#.#..#...#.##.. -##...###.#.#....#......#...#..# -....#.......#..#..##..#.#...... -#.#......#.##..#......#..#....# -....#..#..#.....#.#......#..#.. -..#...###......##.............# -..#....####...##.#...##.#...... -.....#.......###............... -.......#...#.#.......#.#.##.### -.#.#...#.....#...##.........#.. -..#..........#..#.........##... diff --git a/input/day_03_sample b/input/day_03_sample deleted file mode 100644 index 7e88cdc..0000000 --- a/input/day_03_sample +++ /dev/null @@ -1,11 +0,0 @@ -..##....... -#...#...#.. -.#....#..#. -..#.#...#.# -.#...##..#. -..#.##..... -.#.#.#....# -.#........# -#.##...#... -#...##....# -.#..#...#.# diff --git a/input/day_04 b/input/day_04 deleted file mode 100644 index 242437a..0000000 --- a/input/day_04 +++ /dev/null @@ -1,1029 +0,0 @@ -iyr:2015 -hgt:59cm byr:2029 cid:219 pid:9381688753 eyr:1992 hcl:#b6652a -ecl:#7a0fa6 - -ecl:blu iyr:2018 pid:943614755 cid:335 -byr:1968 -eyr:2026 - -pid:067285985 hcl:#ceb3a1 cid:281 -ecl:#07219a eyr:1944 -iyr:2025 -byr:2029 hgt:64cm - -hgt:185cm -ecl:gry cid:222 -iyr:2016 -hcl:#866857 byr:1970 pid:269105457 eyr:2026 - -pid:260043570 hcl:#b6652a cid:275 byr:1990 ecl:brn -hgt:163cm iyr:2012 - -hgt:181cm pid:604983466 -iyr:1930 eyr:2039 byr:1950 ecl:#906548 hcl:#b6652a - -iyr:2025 eyr:1956 hcl:z pid:#1c42cc byr:2006 -cid:327 hgt:141 ecl:#f2affc - -hgt:178cm byr:1939 pid:595705064 ecl:oth -iyr:2020 eyr:2026 -hcl:#888785 - -hgt:159cm iyr:2016 -hcl:#efcc98 pid:139063139 byr:1980 ecl:brn -eyr:2020 - -pid:646870519 hgt:179cm eyr:2022 iyr:2011 hcl:#602927 -ecl:brn -byr:1997 - -hgt:170cm hcl:#ceb3a1 iyr:2014 eyr:2023 ecl:oth pid:243067344 byr:1962 - -hcl:#866857 -ecl:oth pid:704529614 -byr:1941 cid:94 -eyr:2026 hgt:180cm -iyr:2010 - -iyr:1924 -pid:36196401 -hgt:74cm eyr:1921 -ecl:#3acf57 hcl:a4e4c0 byr:2024 -cid:153 - -pid:770262094 hcl:#866857 -eyr:2020 hgt:151cm -ecl:blu -iyr:2012 -byr:2002 -cid:242 - -pid:984364862 ecl:dne -iyr:2020 -hgt:151 eyr:2023 cid:314 hcl:z byr:2012 - -hgt:178cm iyr:2020 hcl:#6b5442 ecl:grn cid:323 eyr:2030 byr:1925 pid:285882039 - -iyr:2019 pid:986123633 -eyr:2024 byr:1990 hcl:#7d3b0c ecl:hzl hgt:192cm - -hgt:90 -byr:2025 iyr:1933 -ecl:dne eyr:2040 pid:8194347544 - -hgt:163cm byr:1934 eyr:2026 ecl:amb hcl:#eec6fb cid:303 pid:721792159 iyr:2013 - -iyr:2019 -byr:1920 hcl:#a97842 -cid:186 eyr:2020 -ecl:oth -hgt:167cm pid:217112082 - -pid:#55ce6b hcl:d30f6b eyr:2040 hgt:60cm ecl:dne iyr:1920 -cid:107 byr:2029 - -ecl:amb eyr:2024 pid:644304174 hcl:#6b5442 iyr:2018 -byr:1935 -hgt:182cm - -ecl:hzl pid:559383552 -hcl:#ceb3a1 eyr:2024 hgt:161cm byr:1968 iyr:2010 - -iyr:2018 -hcl:43fafb -hgt:65cm eyr:2027 -byr:1937 pid:#4bff3e ecl:grt - -eyr:2024 -iyr:2014 cid:163 byr:1924 hcl:#18171d -hgt:166cm - -eyr:2026 pid:955203781 -iyr:2016 cid:52 hgt:167cm -ecl:grn byr:1963 - -pid:479898570 hgt:165cm eyr:2024 byr:1932 -iyr:2010 ecl:grn -cid:88 -hcl:#c0a76e - -cid:241 hgt:178cm ecl:blu pid:069760797 hcl:#623a2f byr:1925 eyr:2029 iyr:2019 - -hgt:172cm eyr:2036 -iyr:2016 pid:#98caec -ecl:dne hcl:z - -ecl:#510672 iyr:1938 byr:2018 hgt:172in hcl:z cid:339 eyr:2039 -pid:#6c1216 - -hcl:#efcc98 -byr:1972 ecl:brn iyr:2011 pid:190911803 eyr:2025 hgt:171cm - -pid:0636917222 byr:2009 hgt:96 -hcl:z -iyr:1997 ecl:hzl eyr:2026 - -byr:1989 iyr:2011 pid:071588682 cid:155 ecl:grn -hcl:#ceb3a1 eyr:1955 hgt:170cm - -cid:266 hcl:#a97842 byr:1964 hgt:175cm -iyr:2017 ecl:brn - -pid:930133867 ecl:grn hcl:#733820 hgt:63in byr:1995 -eyr:2021 iyr:2014 - -eyr:2025 pid:284329794 -ecl:blu hcl:#ceb3a1 iyr:2012 -hgt:65in byr:1961 - -iyr:2010 byr:1998 -hgt:160cm -eyr:2029 hcl:#cfa07d -pid:253052921 -ecl:amb cid:324 - -pid:026835791 byr:1999 eyr:2022 hgt:162cm -hcl:#7d3b0c ecl:brn iyr:2014 - -pid:672752198 eyr:2030 byr:1952 hgt:65in iyr:2016 ecl:amb -hcl:#cfa07d - -hgt:193in -byr:2019 hcl:z pid:#cbc08c iyr:1951 ecl:#3e9f2f eyr:2002 - -ecl:utc pid:571477176 -byr:2012 eyr:1929 cid:240 -hgt:175in hcl:f4ef32 - -cid:93 hcl:#a5db2a -pid:274721479 byr:1940 eyr:2022 ecl:gry -hgt:157cm iyr:2012 - -pid:540858450 iyr:2014 cid:95 byr:1964 -hgt:156cm hcl:#866857 ecl:brn eyr:2026 - -pid:532626994 byr:1939 iyr:2017 -ecl:blu eyr:2026 -hcl:#fffffd hgt:184cm - -hgt:70 pid:404622083 -iyr:2026 -byr:2022 hcl:c1ba7f eyr:1979 ecl:lzr - -pid:931910908 -cid:177 hcl:#6b5442 -ecl:gry hgt:184cm -byr:1963 eyr:2020 -iyr:2014 - -iyr:2019 eyr:2022 hcl:#ceb3a1 hgt:191cm ecl:gry pid:954124659 cid:123 byr:1939 - -pid:411032659 byr:1950 -hgt:153cm eyr:2020 iyr:2014 ecl:hzl - -hgt:156cm eyr:2023 pid:29836124 byr:2017 hcl:56de83 ecl:zzz cid:179 -iyr:2018 - -hcl:#866857 iyr:2014 hgt:190cm byr:1998 pid:565524574 eyr:2020 - -byr:1973 hcl:#888785 iyr:2016 eyr:2028 hgt:173cm ecl:blu - -byr:1987 -pid:028825120 hcl:#7d3b0c -eyr:2023 hgt:190cm ecl:oth iyr:2014 - -eyr:2036 pid:172661617 -ecl:#ae607d byr:2017 hcl:z -hgt:82 cid:153 - -pid:202888577 eyr:2028 iyr:2013 -byr:1933 -hgt:68in cid:151 hcl:#b6652a ecl:brn - -iyr:2020 -ecl:amb eyr:2025 hcl:#a355be hgt:63in pid:146650894 - -iyr:2016 hgt:192cm pid:531372965 hcl:#fffffd -ecl:blu eyr:2025 - -eyr:2025 ecl:blu byr:1961 cid:224 iyr:2016 hcl:#6b5442 pid:368694418 -hgt:169cm - -pid:43707504 iyr:1945 -ecl:grt byr:2010 -eyr:2026 cid:273 -hgt:165in hcl:z - -hgt:159cm ecl:gry -hcl:#6b5442 -eyr:2030 pid:915819272 iyr:2015 - -pid:808392314 ecl:gry cid:285 hcl:#efcc98 byr:1923 hgt:161cm iyr:1941 eyr:2020 - -iyr:2017 -hgt:161cm -eyr:2025 hcl:#602927 ecl:oth pid:081917611 byr:1983 - -eyr:2028 pid:831032131 ecl:brn iyr:2013 hcl:#341e13 cid:198 byr:1991 hgt:67in - -hgt:181cm cid:320 pid:032769757 ecl:grn hcl:#733820 -eyr:2022 byr:1992 - -iyr:2010 cid:128 hgt:171cm byr:1932 pid:923377839 ecl:brn -hcl:#18171d eyr:2020 - -ecl:hzl iyr:2021 byr:2008 pid:569583509 hcl:f74823 -hgt:188in - -iyr:2016 hcl:z eyr:2021 ecl:#24ceee pid:349492243 hgt:67cm -cid:144 byr:2010 - -ecl:gry -byr:2029 hcl:3a0c30 hgt:163in eyr:1962 - -byr:1927 hgt:180 -cid:87 -ecl:#7ea777 -hcl:#623a2f iyr:2024 pid:597098940 eyr:2027 - -cid:89 hgt:193cm hcl:#623a2f -iyr:2010 eyr:2026 -pid:374988952 ecl:hzl byr:1973 - -eyr:2023 iyr:2013 byr:1977 -cid:329 pid:711256829 ecl:grn hgt:154cm -hcl:#866857 - -pid:212535692 ecl:brn -hcl:#b6652a hgt:169cm eyr:2025 byr:1920 iyr:2019 - -ecl:blu -byr:1962 -hgt:157cm iyr:2020 eyr:2027 pid:451039029 -hcl:#6b5442 - -hgt:187cm pid:187808959 eyr:2026 iyr:2020 -ecl:oth -byr:1956 hcl:#733820 - -byr:1959 hgt:160cm ecl:blu hcl:#6b5442 -cid:193 eyr:2026 -iyr:2014 -pid:812555315 - -hgt:153cm iyr:2011 -ecl:grn hcl:#ceb3a1 -eyr:2026 byr:1966 pid:503356330 - -ecl:#95d8a9 -eyr:2024 pid:382174744 -iyr:2025 -hgt:152 hcl:#888785 byr:2012 - -eyr:2028 -iyr:2017 byr:1938 -cid:279 hcl:#733820 ecl:amb pid:497365268 hgt:191cm - -cid:335 byr:1982 hgt:171cm iyr:2013 -ecl:hzl eyr:2030 -hcl:#efcc98 pid:018900639 - -eyr:2029 hgt:175cm pid:530128340 -hcl:#888785 -ecl:gry -byr:1947 iyr:2019 - -hgt:183cm -hcl:#6b5442 eyr:2023 ecl:grn -byr:1934 - -hcl:f8ed45 cid:54 iyr:1997 -hgt:69cm eyr:2037 ecl:gry -pid:184cm byr:2012 - -ecl:grn hcl:#733820 byr:1928 pid:002528194 -iyr:2014 eyr:2021 hgt:157cm - -hgt:163in -hcl:#c0946f byr:2018 eyr:2021 -iyr:1955 ecl:#216920 pid:87155266 -cid:298 - -eyr:2026 byr:1945 cid:161 iyr:2017 hgt:170cm hcl:#fffffd ecl:hzl pid:649441221 - -byr:1930 -iyr:2014 pid:151910079 hcl:#18171d ecl:oth eyr:2029 -hgt:169cm - -ecl:blu byr:1950 iyr:2010 cid:260 hcl:#cfa07d -hgt:167cm -pid:910685738 eyr:2021 - -hgt:182cm byr:1993 -eyr:2030 pid:073035999 hcl:#341e13 -cid:117 - -byr:1981 -hcl:#866857 -eyr:2028 iyr:2012 ecl:blu pid:620133246 hgt:157cm - -hgt:191cm -iyr:2010 pid:089995590 eyr:2023 ecl:amb byr:1986 hcl:#733820 - -iyr:2019 ecl:gry -hgt:165cm pid:910093364 hcl:#efcc98 byr:1997 -eyr:2028 -cid:153 - -hgt:83 hcl:174774 eyr:2032 -ecl:xry iyr:2017 byr:1940 - -byr:1943 -pid:980352645 -iyr:2015 hgt:66 eyr:2023 hcl:#b6652a ecl:oth - -ecl:amb byr:1980 hgt:164cm pid:775303596 hcl:#671bed iyr:2013 eyr:2030 - -hgt:173cm byr:1947 eyr:1947 iyr:1940 ecl:gmt hcl:7e515c - -hcl:#b6652a -iyr:2012 -eyr:2030 hgt:185cm ecl:grn - -ecl:amb byr:1940 hcl:#2943a5 iyr:2015 -hgt:185cm pid:931660417 -eyr:2021 - -eyr:1957 hcl:#623a2f -ecl:grt hgt:62cm pid:#af106a iyr:2012 -cid:59 byr:1985 - -ecl:amb eyr:2025 -pid:351412754 iyr:2014 byr:1941 hcl:#6b5442 hgt:174cm - -pid:5621200134 hcl:6ef9ba ecl:#ef68f5 eyr:1924 -hgt:63cm cid:188 byr:2004 - -hcl:#a97842 byr:1976 eyr:2020 hgt:171cm pid:041926354 iyr:2019 - -cid:234 -byr:2025 hcl:98619a pid:181cm eyr:1941 -iyr:2021 -hgt:167in ecl:#f5e651 - -hgt:73cm eyr:2028 byr:1985 iyr:1949 hcl:z ecl:utc cid:207 pid:#ee9f95 - -pid:179cm eyr:2030 hcl:b8e142 -hgt:69cm -iyr:1933 -byr:1934 -ecl:grn - -iyr:2028 eyr:1954 hgt:111 cid:180 pid:183391861 -byr:2030 hcl:1fb30f ecl:#0d0160 - -ecl:#0b3b2d hgt:191cm byr:2023 pid:727024676 eyr:2025 hcl:#b6652a - -hgt:66in -byr:1923 eyr:2023 ecl:gry -pid:454789451 iyr:2013 hcl:#cfa07d - -eyr:2020 -pid:339972685 -ecl:amb -iyr:2017 byr:1926 hgt:154cm -hcl:#18171d - -ecl:oth cid:302 -byr:1946 -hcl:#ceb3a1 -pid:622779476 eyr:2024 iyr:2012 hgt:158cm - -byr:2012 -pid:748786877 hgt:135 iyr:2016 hcl:b6e962 ecl:gry eyr:2011 - -byr:1997 -hcl:#a97842 -eyr:2022 pid:325672898 ecl:amb hgt:190cm iyr:2010 - -cid:210 hcl:#c0946f byr:1957 eyr:2022 -iyr:2020 pid:374646087 ecl:blu hgt:184cm - -eyr:2029 ecl:#353e0f -pid:#66ec82 -byr:2023 hcl:10d9d8 cid:271 - -pid:816485054 -eyr:2019 ecl:grn -hcl:#efcc98 hgt:185cm iyr:2013 -byr:2014 - -hcl:#866857 iyr:2014 byr:1953 eyr:2022 ecl:blu hgt:166cm - -pid:162cm hgt:59cm iyr:1981 -eyr:2025 byr:2009 -ecl:gmt hcl:116742 - -eyr:2028 hgt:67cm hcl:3d1f34 byr:1963 pid:62859332 -ecl:dne -iyr:2023 - -iyr:2013 -pid:271450754 eyr:2016 hcl:e20882 cid:186 hgt:157in ecl:utc byr:2023 - -pid:702200026 eyr:1968 ecl:gmt hcl:#888785 iyr:2018 hgt:193in byr:1943 - -eyr:2025 byr:1989 ecl:amb hcl:#866857 cid:119 -hgt:191cm -pid:556011434 - -hgt:178cm iyr:2013 -pid:928476807 -ecl:amb hcl:#623a2f byr:1996 eyr:2026 - -cid:222 -pid:325218825 eyr:2021 byr:1983 hgt:155cm ecl:brn iyr:2011 -hcl:#fffffd - -pid:949344785 ecl:grn eyr:2025 cid:182 byr:1974 hcl:#ceb3a1 -iyr:2011 - -cid:269 pid:669599426 hgt:176cm ecl:blu byr:1957 -iyr:2015 hcl:#623a2f eyr:2025 - -eyr:2023 hcl:#888785 -pid:178525132 iyr:2018 hgt:186cm - -ecl:hzl -byr:1940 iyr:2013 -hgt:185cm eyr:2028 -hcl:#7c73a3 - -hcl:z -byr:2001 cid:292 ecl:#d56bbd pid:93473192 -iyr:2003 hgt:150 -eyr:1922 - -eyr:2021 pid:786485899 -hgt:170cm hcl:#efcc98 byr:1955 -iyr:2010 ecl:brn - -hcl:#733820 ecl:hzl hgt:157cm byr:1944 eyr:2027 pid:906803629 iyr:2015 - -hgt:151cm ecl:blu iyr:2016 -hcl:#02ffd7 byr:1995 -pid:369315941 eyr:2026 - -cid:330 ecl:#18e883 eyr:2038 -hcl:z iyr:1929 -hgt:193 pid:33765426 - -pid:743094345 eyr:2027 -iyr:1949 byr:1955 -ecl:gry -hgt:160cm hcl:8dae67 - -cid:167 hcl:#18171d -iyr:2016 pid:214065645 byr:1942 eyr:2030 hgt:183cm ecl:hzl - -ecl:brn hcl:#623a2f cid:171 byr:1971 -iyr:2011 eyr:2028 -pid:607344613 -hgt:153cm - -byr:1921 pid:677007802 hcl:#341e13 ecl:brn iyr:2012 hgt:188cm eyr:2028 - -hgt:162cm cid:319 hcl:z iyr:2025 -byr:1989 eyr:1939 pid:67311222 -ecl:utc - -iyr:2014 eyr:2025 hgt:171cm -cid:302 byr:1997 -hcl:z -ecl:amb pid:101363367 - -ecl:oth iyr:2010 -cid:96 hgt:164cm hcl:4bc20a byr:1947 -pid:166115442 eyr:2030 - -byr:1964 -hcl:#6b5442 hgt:156cm eyr:2022 pid:426807062 ecl:brn cid:321 iyr:2012 - -byr:2012 hcl:#888785 cid:298 eyr:1920 ecl:zzz hgt:169cm pid:0660316558 iyr:2019 - -hcl:579266 byr:1931 pid:#aa5fd0 ecl:gry eyr:2017 hgt:60 iyr:1965 - -iyr:2011 -pid:610896691 hcl:#733820 -byr:1936 -ecl:gry eyr:2021 hgt:161cm - -pid:443246791 iyr:2015 hgt:158cm hcl:#18171d -byr:1928 ecl:brn cid:207 - -byr:1950 pid:644579904 hcl:#b6652a -eyr:2027 iyr:2017 -ecl:brn hgt:171cm - -iyr:2011 byr:1960 -eyr:2023 -hgt:171cm ecl:hzl -pid:331465564 cid:205 hcl:#18171d - -hgt:61cm eyr:1987 ecl:#9f458c byr:2023 pid:162cm hcl:z iyr:1997 - -hcl:59e376 pid:065607649 -iyr:2020 -byr:2010 ecl:blu - -pid:167cm byr:2022 hgt:150cm ecl:#06650a hcl:caa145 eyr:2032 -iyr:2015 - -byr:1932 -hcl:#419d73 -cid:203 iyr:2017 -pid:105921085 -ecl:gry - -pid:501585534 hcl:#418895 -iyr:2018 -hgt:157cm byr:1940 ecl:hzl eyr:2027 - -cid:220 hgt:171cm hcl:#623a2f -ecl:gry -iyr:2017 -pid:085309709 eyr:2024 byr:1932 - -hcl:#733820 eyr:2028 cid:93 -iyr:2017 -byr:1974 hgt:163cm ecl:grn pid:630322998 - -hcl:#602927 cid:97 hgt:166cm eyr:2025 -ecl:hzl iyr:2016 byr:1964 pid:355325363 - -iyr:2016 pid:402228657 hgt:174cm byr:1993 -eyr:2020 hcl:#733820 ecl:grn - -iyr:2020 hgt:171cm ecl:amb -hcl:#c0946f -byr:1939 -cid:316 pid:782384470 eyr:2030 - -byr:1983 pid:839608616 -eyr:2026 -hcl:#ceb3a1 cid:242 -hgt:192cm ecl:hzl - -pid:701022732 byr:1931 ecl:amb -hgt:70in hcl:#341e13 eyr:2030 iyr:2013 - -eyr:2027 -pid:740692321 byr:1940 -hgt:179cm ecl:blu cid:153 iyr:2010 - -iyr:2024 hcl:z ecl:zzz hgt:181in pid:#c38620 eyr:1976 cid:97 -byr:2029 - -byr:1999 ecl:lzr hcl:6f29a6 eyr:2023 -iyr:2018 cid:209 pid:401606571 hgt:163cm - -ecl:amb -byr:1996 hgt:181cm iyr:2018 hcl:#6b5442 pid:022285219 eyr:2021 - -cid:93 pid:807990476 -hgt:61in eyr:2027 hcl:#cfa07d ecl:oth iyr:2017 - -hcl:#7d3b0c pid:225151503 iyr:2013 cid:68 -eyr:2029 -ecl:brn hgt:64in byr:1959 - -eyr:2028 hgt:172in -iyr:2014 byr:1950 pid:187cm hcl:z ecl:brn - -byr:1982 -pid:978263388 eyr:2021 hgt:175cm iyr:2014 ecl:brn hcl:#a97842 - -hgt:162cm -eyr:2025 -pid:6533951177 byr:1993 iyr:2011 hcl:#c0946f ecl:hzl - -pid:182cm -iyr:2025 eyr:2035 hgt:59in -ecl:#799f29 hcl:z -byr:1920 cid:202 - -hcl:#733820 -eyr:2022 hgt:185cm byr:1989 pid:195276207 -ecl:blu iyr:2017 - -hcl:#7d3b0c -cid:257 ecl:gry -pid:123065639 byr:1951 iyr:2013 - -eyr:2039 ecl:#a82e90 byr:1927 pid:719738468 hgt:73cm - -hcl:605223 -hgt:162cm pid:50424035 -ecl:oth cid:343 byr:2025 iyr:2023 eyr:2024 - -hcl:699116 iyr:2001 -eyr:2022 -byr:2013 -hgt:171cm pid:8900968325 - -hcl:#efcc98 eyr:2029 ecl:grn pid:568953221 -byr:1986 -hgt:178cm -iyr:2020 - -pid:452235579 byr:1932 -ecl:grn -iyr:2010 hgt:189cm eyr:2028 -hcl:#602927 cid:258 - -ecl:xry iyr:2009 cid:334 pid:189cm -eyr:2032 byr:2005 hgt:172in hcl:z - -hgt:159cm hcl:z pid:166cm -ecl:oth eyr:2026 iyr:2020 - -eyr:2023 ecl:blu byr:1935 iyr:2015 -hcl:#866857 pid:542611829 -hgt:168cm - -pid:#ec3d53 -hcl:#ceb3a1 -byr:1999 eyr:2024 -hgt:188cm ecl:oth iyr:2018 - -byr:2003 hgt:167 -hcl:486800 -ecl:#29bdd6 eyr:2037 cid:169 iyr:2010 - -byr:1983 -eyr:2026 ecl:gry -pid:203934984 -hgt:181cm iyr:2020 hcl:#a97842 cid:184 - -hgt:180cm -iyr:1934 eyr:2038 hcl:#a97842 ecl:brn byr:1942 pid:427001597 - -hcl:#18171d byr:1988 -cid:267 hgt:188cm -ecl:amb -eyr:2028 pid:696617232 - -eyr:2024 hcl:#cfa07d -iyr:2013 pid:176cm hgt:189cm byr:1990 -ecl:gry - -eyr:2025 iyr:2015 hgt:153cm hcl:#ceb3a1 ecl:grn pid:686467422 byr:1961 cid:282 - -byr:1931 hgt:185cm ecl:oth -eyr:2022 -pid:561083684 hcl:#efcc98 -iyr:2012 - -byr:1948 cid:327 hgt:151cm -iyr:2016 hcl:#733820 ecl:oth pid:341978822 - -hcl:#ceb3a1 -byr:1978 iyr:2020 hgt:172cm -eyr:2022 ecl:oth pid:093317990 - -eyr:2029 -pid:096891409 iyr:2018 -hcl:#d82822 hgt:174cm ecl:hzl -byr:1988 - -hgt:170cm iyr:2018 pid:588142771 eyr:2022 hcl:#733820 -cid:273 byr:1940 ecl:#a608fe - -iyr:2029 eyr:1980 hcl:#341e13 byr:2027 ecl:grt -pid:443809337 hgt:180cm -cid:205 - -ecl:#f89df0 hgt:144 hcl:2f26ab iyr:1982 pid:#3b43c1 eyr:2032 byr:2012 - -ecl:hzl byr:1971 -pid:030850749 -hgt:170in -hcl:#ceb3a1 eyr:2023 iyr:2018 - -byr:1940 iyr:2020 -eyr:2026 pid:437820254 -hgt:179cm ecl:gry - -byr:2028 -eyr:1986 hcl:z -hgt:185in pid:773739744 ecl:dne iyr:2020 - -hcl:#a97842 -hgt:186cm cid:64 iyr:2016 -byr:1947 eyr:2021 - -byr:1988 hgt:160cm eyr:2023 hcl:#866857 pid:788805179 iyr:2022 ecl:amb - -hgt:164cm byr:1996 cid:338 hcl:#efcc98 -eyr:2029 pid:208596014 ecl:blu - -pid:357680064 byr:1960 eyr:2029 ecl:gry hgt:192cm hcl:#c0946f - -ecl:#d32320 -hgt:167in pid:19531341 -hcl:z -cid:346 iyr:2024 byr:2006 eyr:2035 - -pid:843729120 byr:1987 hgt:185cm eyr:2022 -ecl:amb -iyr:2012 hcl:#c0946f - -eyr:2020 byr:1961 iyr:2011 -hgt:162cm cid:54 pid:891397982 ecl:brn - -ecl:zzz byr:2019 iyr:2015 eyr:2028 hcl:43d56d -hgt:152cm -pid:182cm - -hcl:#18171d byr:1979 hgt:174cm -iyr:2013 cid:228 eyr:2022 ecl:amb pid:82422450 - -cid:156 iyr:2017 -byr:1924 -hcl:#b6652a ecl:gry hgt:184cm eyr:2027 pid:451347151 - -pid:850192502 hgt:65in -iyr:2011 hcl:#7d3b0c -eyr:2023 ecl:gry - -ecl:amb hgt:181cm iyr:2017 pid:233345009 byr:1934 -hcl:#341e13 -eyr:2024 cid:199 - -eyr:2026 pid:#4cb480 -iyr:1958 hgt:176cm ecl:dne hcl:z - -ecl:grn eyr:2027 hgt:178cm byr:1994 hcl:#341e13 -iyr:2016 pid:790075315 - -pid:140922484 -byr:1958 -eyr:2025 -iyr:2019 ecl:brn hgt:157cm hcl:#623a2f - -pid:466785488 hgt:160cm hcl:#cfa07d -byr:1947 -iyr:2010 -cid:198 eyr:2020 ecl:hzl - -ecl:oth -eyr:2022 byr:1963 -hcl:#fffffd iyr:2017 -hgt:171cm pid:463249115 - -hgt:73cm byr:1968 -pid:470317690 ecl:blu -iyr:2015 hcl:#c0946f cid:54 eyr:2029 - -hgt:162cm iyr:2014 -byr:1951 hcl:#b6652a eyr:2029 ecl:blu - -ecl:oth -hgt:176cm hcl:#888785 byr:1963 -iyr:2017 pid:453133253 eyr:2025 - -hcl:#efcc98 -eyr:2024 iyr:2020 cid:330 byr:1950 pid:937122408 ecl:gry hgt:162cm - -hgt:168cm -pid:745867335 -cid:165 hcl:#c0946f iyr:2018 ecl:grt eyr:2030 -byr:1932 - -byr:1949 pid:116003343 -hcl:#c0946f hgt:178cm eyr:2028 iyr:2020 cid:220 -ecl:hzl - -iyr:2013 -cid:314 pid:186cm hgt:74cm eyr:1973 ecl:hzl byr:2007 -hcl:180e0c - -pid:486330019 -byr:1999 ecl:oth hgt:154cm iyr:2019 eyr:2026 -hcl:#efcc98 - -eyr:2030 iyr:2018 hcl:#18171d byr:1950 -pid:648616604 hgt:160cm ecl:gry - -hgt:173cm -ecl:oth byr:1993 eyr:2029 hcl:#fffffd iyr:2010 pid:317451887 - -ecl:brn hgt:157cm -byr:1963 eyr:2023 pid:005387570 hcl:#866857 iyr:2012 - -pid:419695212 eyr:2020 byr:1957 cid:198 iyr:2015 hcl:#888785 hgt:168cm ecl:amb - -ecl:amb -iyr:2017 eyr:2024 pid:039995171 hcl:#a97842 -hgt:153cm byr:1983 - -byr:1979 eyr:2021 iyr:2011 hgt:157cm ecl:blu pid:110855542 hcl:#c0946f - -ecl:blu pid:948753945 eyr:2029 iyr:2012 hcl:#ceb3a1 -hgt:164cm byr:1988 - -iyr:2010 -eyr:2032 hcl:#fffffd pid:#175129 hgt:184cm -ecl:hzl byr:1985 - -hgt:189cm ecl:blu byr:1936 eyr:2027 hcl:#733820 -pid:728752361 iyr:2011 - -hcl:#733820 ecl:blu eyr:2023 hgt:172cm iyr:2017 -pid:013415387 byr:1947 - -byr:2012 iyr:2017 pid:#424ae4 -cid:172 hgt:166cm eyr:2022 -hcl:b1319b ecl:#6635d8 - -eyr:2030 -iyr:1928 hgt:185cm ecl:brn pid:#ac5a90 byr:1984 hcl:ac8f43 - -eyr:2027 -ecl:amb iyr:2014 hcl:#fffffd -pid:838758900 -hgt:177cm byr:1942 - -cid:166 iyr:2020 ecl:lzr hgt:70cm eyr:2040 byr:2004 hcl:#733820 - -eyr:2028 ecl:grn byr:2016 cid:61 iyr:2010 -hcl:#cfa07d -hgt:155in -pid:9594283803 - -ecl:gmt pid:984675198 -byr:1997 hgt:128 eyr:2037 hcl:#b6652a cid:299 - -iyr:2015 pid:733864914 eyr:2021 ecl:amb -byr:1971 cid:280 -hgt:181cm hcl:#054593 - -ecl:hzl hcl:#cfa07d eyr:2022 pid:832736421 -byr:1958 -iyr:2010 -cid:274 hgt:152cm - -eyr:2020 hcl:#6b5442 cid:223 hgt:155cm byr:1989 ecl:oth -iyr:2011 pid:549182194 - -iyr:2020 hcl:#cfa07d -eyr:2027 pid:093361240 byr:1941 cid:271 hgt:178cm ecl:brn - -ecl:blu cid:290 eyr:2027 -hgt:192cm byr:1945 hcl:#7d3b0c iyr:2020 pid:910713369 - -byr:1991 hcl:#ceb3a1 ecl:xry hgt:159cm pid:9496171384 -eyr:2030 iyr:2016 - -eyr:2020 pid:812617809 hcl:#7d3b0c -byr:1970 ecl:gmt -iyr:1971 hgt:157in - -pid:596027311 hcl:#866857 hgt:169cm byr:1945 eyr:2030 ecl:oth -iyr:2010 - -hgt:176cm -pid:213213359 byr:2012 hcl:be7b13 eyr:1971 ecl:gmt iyr:2011 -cid:64 - -pid:27107946 ecl:utc hgt:66cm byr:1928 eyr:2040 -cid:87 - -byr:1959 ecl:blu hcl:4e023b pid:9017609497 eyr:2023 hgt:68 iyr:2029 - -hgt:164cm eyr:2023 byr:2008 ecl:grn pid:420168481 hcl:#b6652a iyr:2012 - -eyr:1977 byr:1934 -ecl:brn cid:163 -iyr:2018 pid:2863284754 -hgt:150in hcl:#623a2f - -ecl:hzl eyr:2031 cid:145 hgt:186cm hcl:#cfa07d -byr:1941 iyr:2010 pid:722056139 - -ecl:blu eyr:2027 -hcl:#888785 iyr:2018 byr:1977 cid:278 hgt:156cm - -eyr:2039 hgt:82 byr:2007 -hcl:z iyr:2021 ecl:dne cid:191 -pid:#1cf69f - -pid:183cm cid:111 -hgt:66cm -iyr:1950 -eyr:1947 ecl:#016f6a - -ecl:hzl byr:1957 iyr:2015 hgt:186cm eyr:2029 hcl:#701e04 cid:149 pid:827898914 - -cid:214 pid:785688542 hgt:189cm byr:1974 ecl:brn -hcl:#18171d -eyr:2030 - -hcl:#866857 -cid:241 ecl:grn pid:389488422 byr:1959 iyr:2015 hgt:67in -eyr:2027 - -hcl:#6b5442 iyr:2011 hgt:193cm -eyr:2026 byr:1952 -pid:033382338 -ecl:grn - -iyr:2020 hgt:166cm byr:1927 -eyr:2029 ecl:hzl -pid:927006613 hcl:#623a2f - -ecl:gry pid:640783974 -hgt:71in byr:1945 iyr:2019 cid:268 hcl:#b6652a -eyr:2025 - -hcl:#733820 hgt:163cm -pid:1285584293 byr:1967 ecl:oth -cid:309 iyr:2020 eyr:2031 - -pid:910349085 iyr:2011 hcl:#623a2f byr:1956 -eyr:2025 ecl:gry -hgt:182cm - -pid:018283044 hcl:#602927 hgt:153cm ecl:gry iyr:2020 -eyr:2024 -byr:1990 - -hgt:184cm hcl:#866857 ecl:oth -eyr:2023 pid:405733635 cid:205 -byr:1987 iyr:2012 - -hgt:167cm -iyr:2015 ecl:brn -eyr:2025 -hcl:#18171d cid:313 byr:1960 - -hgt:165cm byr:1933 -iyr:2014 -cid:203 -hcl:#1cdbb3 -ecl:hzl eyr:2027 pid:747009469 - -hgt:169cm ecl:gry iyr:2014 -byr:1966 pid:621876532 hcl:#efcc98 - -cid:342 eyr:2029 hcl:#a97842 byr:1970 -ecl:oth -pid:137287449 hgt:180cm -iyr:2011 - -hcl:#cfa07d byr:1985 hgt:183cm ecl:grn -iyr:2013 eyr:2022 - -iyr:2023 -pid:164cm hcl:z byr:1966 -eyr:2021 ecl:utc - -hcl:#fffffd cid:60 -byr:1973 -pid:324648387 -hgt:177cm eyr:2022 iyr:2010 -ecl:oth - -pid:632056596 hcl:#efcc98 -hgt:73in ecl:brn byr:1928 iyr:2017 -eyr:2023 - -cid:144 ecl:amb eyr:2035 byr:1943 hgt:180cm -iyr:2012 -pid:155cm - -hcl:#6b5442 -pid:927492391 -eyr:2023 hgt:172cm byr:1958 cid:92 ecl:gry iyr:2019 - -iyr:2020 cid:82 -hgt:193in hcl:#b6652a -ecl:grn eyr:2034 byr:2026 - -iyr:1922 hcl:245cb3 byr:2015 -pid:151cm -eyr:2040 -ecl:lzr cid:136 hgt:101 - -byr:2025 -eyr:2029 -hgt:193in -cid:308 -ecl:gry iyr:2028 pid:9335153289 -hcl:z - -eyr:2030 hgt:163cm iyr:2014 -pid:147768826 ecl:blu byr:1922 hcl:#ceb3a1 cid:169 - -ecl:blu byr:2002 eyr:2028 pid:998185490 cid:165 iyr:2020 -hgt:188cm hcl:#c0946f diff --git a/input/day_04_sample b/input/day_04_sample deleted file mode 100644 index 0ff208e..0000000 --- a/input/day_04_sample +++ /dev/null @@ -1,13 +0,0 @@ -ecl:gry pid:860033327 eyr:2020 hcl:#fffffd -byr:1937 iyr:2017 cid:147 hgt:183cm - -iyr:2013 ecl:amb cid:350 eyr:2023 pid:028048884 -hcl:#cfa07d byr:1929 - -hcl:#ae17e1 iyr:2013 -eyr:2024 -ecl:brn pid:760753108 byr:1931 -hgt:179cm - -hcl:#cfa07d eyr:2025 pid:166559648 -iyr:2011 ecl:brn hgt:59in diff --git a/input/day_05 b/input/day_05 deleted file mode 100644 index bdd95fd..0000000 --- a/input/day_05 +++ /dev/null @@ -1,875 +0,0 @@ -BBFBBBFLRR -BBFBFBFLLL -FFBBBFBLLL -BFBFBFBRLR -BFFFFFFLRR -FBBFFBFRRL -BFBBBBBLLL -FBBBBFBRRL -FFFBBBFLRR -BBFFFFBRLL -FFBFBFFLLR -BFBBBBBRRL -BBFFBFBLLL -FBBFBBFRRR -FFBFFBFRRR -BBBFBFBLRL -BFBBBBFLLR -BFBFFFFLRL -BBBBFFFLLL -BFBFBFFLRR -FFBBFBFRRR -FBBBFBBLRR -BBFBBFBRRR -BBBFBBFLRR -BFFBBBFRLL -BFBBBFFLRR -FFBBFFFRRL -FBBBFBFLLL -BFBFFFBRLR -BBFFFBFRRL -FBBBBFBLLL -FBFBFFBRRL -FBBFBFBLLR -BBBFBFFLLL -FFBBBFFLRR -FFFBBFBLRL -BFBFFFBRLL -BBBFBBBLRL -FBFFFBBLLR -BFBBFBFLLL -FBFFFFFLRL -BFFBBFFRRR -FBBFFBFRRR -FFBFFBBLRR -BFBFBBBRRL -BFFBBBFLRL -FBBFBBBLRL -FBBBBBBRLR -FBBBBBBLRR -BFBBFBFRLL -BFBBFFBRRL -FBFBBFFRRR -FBBBFFFLLR -BFBBFFFRRL -FFBBFBBRRL -FBFFFFFLLR -BFFBBBBLRL -BFBFFFFLLR -FBFBFFFRRR -FBFBBBFLLL -BBBFFFBLLL -FFFBBFBRLR -FBFBFFFLLL -FBFFBBBRRL -BFFBFBFRRR -FFFBBBBRLR -BFFBFBFLLR -BFFFBFBLLR -BFBBFBBLRL -BFFBBFFLLR -FFFBBBFRLL -BFBFBBFRRR -FBFFFFFLLL -BFFBBFBRRL -BBBFFFFRLL -FBBFFFBRLR -BFFBBBFRLR -BBFBFBFLLR -BFBBFBBLLR -BFFFFFBRRL -BFFFBBFLRR -BBFBBBFLRL -BFBFBBBLLR -BBFFBFFRRR -FFBFFBFRLL -FBBBFFFRLR -FBFFBFFRLR -FBBBFFFRLL -FBFBBFFRRL -BFFBFFBLRL -FBBFFBBLRR -FFFBBBBLRL -BBBFFBFLRR -FBBBFFBRRL -FFBFFFFLRR -BBBFFBFRLL -BBBFBBBRLL -BFFBFFFRLR -BFFBFBBRLL -FFBFFFBRRL -BBFBFFFLLL -BBBFFBBLLR -BFFBBBFRRR -BFBFFFFRLL -FBFFBBFRLL -FFBBBFBRLR -FBBFFBBLLR -BFBBBBBLLR -BFFBFBBLRL -FBBBFFFLRR -FBBBFBFLRL -FBFFFFFRLL -FBFBBBFLLR -BFFFBBFLLR -BBFBFBBLLR -BBFFBFFRRL -BBFFFBBRLL -BFBFBFFRLL -FBBFBBFLRR -FBBBFFFLLL -FBFBBFFLLR -BBFBFBBRLL -BFFFBFFLLR -FBBFFBBRRR -BBFBFBFLRL -BFFFFBFLRR -FBFFFBFRRR -FBFFBBBRLL -FBFBBBBLRL -BFFBFFBLRR -BFBBFBBRLR -BFFFFFBLLL -BFBBBBBRLR -FFBBBFBLRL -BFBFBBFLLR -BBFBBFFLLL -BBBFBBFRLL -FFBFBFBLRL -BBFBBFFRRL -BFBBFFBLRL -FFBFBBFLRL -FBFFFFBLLR -BBBFFBFRRR -BFBFFFBRRR -BBFFBFBLRL -FBFBBBBRRR -FBFBFFBRLL -BFFBFFFLRR -BBBFFFBRRR -BFBBFBFRRL -BFFFBBBLRL -BBFBBFBRRL -BFFBFBBRLR -BFFBBFFLRR -FFBFFFBLLR -FBBBFBFLLR -FBFBBFBRRR -FBBBBFFRRL -FBFFBBFLRL -FBBFFFBLRR -BFBBFFBRLR -BBFBBBFRLR -BFFBBFFRRL -FBBFFFFLRR -BFBFFFFLLL -BBBBFFBRLR -BFBFBFBRRL -FBBBBBFRLR -BFFBFBBRRL -FFBBBFBLRR -FFBBFBFRRL -BFBFBBFRLL -BBFFBFBLRR -BBFBBBBLLR -BFFBBBFLLL -BBFFBBBLRL -FBFBFBBRLL -BBFBBBFRRR -FFBBBFFLLR -BFFBFFFLRL -FBBBFFBRLR -BFFBFFFRLL -FBFBBBBLRR -FBFFBFFLLL -BFBBFBBRRR -BFBFBBBLRL -FBBBFBBLLR -BBFFFFBRRL -BBFBFFFLRL -BBBFFBFLLL -FBFFFFBRLR -BFFFBBBRRR -FFBBFBBRRR -FBFFBFFRRL -BBFBBBBLRR -BBFFBBBRRL -FFBFBFBRLR -BBFBBBBRRL -BBFFFBBLRL -BBBFBBFLLR -FBFFFBBLRR -FBBBBBFLRL -FBBBFBBRRL -FBBBBFFRRR -BFFBBFBLRL -FFBFBBFRLL -FBBFFFBLLR -BBFBBFFRLR -FBBFFBFLRL -BFBFBFBLRR -BBFBBFBLRL -FFBFFBBRRL -FBBFBFFLRR -BFBBBBBRLL -BFFBFBFRRL -FFBFBFFLRL -FBFBFFBLLL -FFBFBBFRRL -FFBBFFBRLR -BBBFBFBLLR -BFBFFFBLRR -FBBFBBBRLL -BBFFBBBRLL -FFFBBFFLRR -BBBFFFBRLR -BBBFBBBLRR -FBFBFFBLRR -BFBBBBBLRL -FBFFFFBRLL -FBBBFFFRRR -FBFFFBBRRR -BBBFFFFLRL -BBFFBFFLRR -FFBFBBBLRR -BFFBFFBRLR -BFBFFBFLLR -FFFBBFFRLR -FFBFFFBLRR -BFBBBFFRLL -BFFFFBFRLR -FFBFBFBLRR -FBBBBFFLLL -FFBBBFFLRL -BBBFBFBRLL -BBFFFBBRRL -BFFFFFBLRL -FBBBFBFRRL -BBBFBBFRRL -BFFFFFBLLR -BFBBFFFLLL -FBFBFBFRLL -BFFFFBBLRR -BBBFFFFRLR -BFFFBBFRRR -BBBFFFFLRR -FBBFBFFRLR -FBFBBFBRLL -BFFBFFBRRR -BFBBBBFRLL -BFBBBFBRLR -FBBBFBFRLR -FBBBBBFRLL -FBFFBBBRLR -BBFFFBBLLR -BBFFBBBLLL -BBBFFFFRRL -BFFBBBBLLL -FFBFFBBRLR -BFBBBFFLLL -FFFBBBBRRR -BBFFBFFLLR -BBFBBFFRRR -FBFBBBFLRL -FBBFBFBRLL -FFBBFBFRLR -BFFFBBFLRL -FBFFFBFRRL -BFBBBFFRRR -FBBFBFBLLL -BFBBBBFRRR -BBBFFBFRRL -FBFBBFBLRL -BFBBBFFLRL -FFFBBBBLLL -FBFBFBFLLR -BBFFBFBRLL -FFBFBFBLLL -FBBFBFBRRR -BFFFBFFRLL -BFFBBFBLLR -BFBBFFFRLR -BFBFFBBRLL -FFBBBFBLLR -BFBFBFFRRL -FBBFFFFLRL -FFBBBFBRLL -FBFBFBBLLL -FBFBFFBLLR -BBBFBBFLRL -FBFFFBBRLR -FBBBFFBRRR -FFFBBBFLLR -BFFFBBBLLR -BBFBBFBLRR -BFBBBBFRRL -BBFBBBFRRL -FFBBFBBRLL -BBFBBFFRLL -FBBBBFBRLL -BFBBFFBRLL -BBBFBFFRLR -FBFFFFFRRR -BBBFBFBLLL -FFFBBFBRRL -BBBFFBBLRL -BBFFBBBRLR -BFBBFFBRRR -FBBFFBBLLL -BFBBFFBLLL -BFFFFBBLLR -FBFFFBFRLL -BFBBBFBLLL -BFFFFBFLRL -BFFFBBBLRR -BFFBBFFRLR -FBBBBFBLRL -FBBFFFBLLL -BFBBFBFLRL -BFFBFBBLLR -BBFFFBFLRL -FFBFFBBRRR -BBFFFBBRLR -BFBFFFFRRR -FFFBBBBRLL -FFBFBBBLRL -BFBFBFFLLL -BBFBBBBRLR -BBFFFBFRLL -FBFFBFFLLR -BBFFBBFRLR -FFBBFBBLRL -BBFBBBBRLL -BBBFBFFLRL -FBBFFBBRLR -BFBFFBBRLR -FBBBBFFLRL -BBFBBFFLLR -FBBFBBFLLR -FFBFFBFLLR -BFBBFBBRLL -FFBFBFBRRR -FBFBFFFLRL -BBBBFFBLRL -BFBFFFBLRL -BBFFFFFRRL -FBFFBBFRRR -BBBFFBFLLR -BFFBFBFLLL -BBFBFBBRRL -BFBBFBBLRR -FBFFFBBRLL -FFBBBBBLLL -BFBBBFFRRL -BBFFFBBRRR -FFBFBBBRRR -FFBBFFFLRR -FBFBFBFLLL -BBBFBFFLRR -BFBFFBFRLR -FBBFFBFRLR -BBFBFBFRRR -BBBFFBBLRR -BFBBFBBRRL -FBBFBFFLRL -BBBBFFFLLR -BBFBFFBLLR -BFFFBFBLRL -BFBFBBBLLL -BFFFFFFRLR -BBFFBFBRRR -BFFBBBBLLR -BBBFBFFRRR -FBFFBBFLLL -FFBFFFBRRR -FBBFFFFRRL -BBFFBBFLLL -FBBBFBBLRL -FFBBFBFLRR -BBFFBBBLRR -FBFFBBBLLL -FBBFFBFLLR -BBFBBBBLLL -BFBFFFBLLR -FBFFFFFRLR -FFBFFBBRLL -FFBBFFBRRL -FBBFBFBLRL -FBBFFFFLLL -FFBFFBFLLL -BFBFBFBLRL -FFBBBBFRRL -BFFBFBFRLR -BBFFBBBRRR -FFBBFFFLLL -FFBBBBBLRL -BFBBBFBLRL -BBFFBBFLRR -FBFBFFFLLR -BFFFFBFRRL -FBFBBFFLRL -FBFFBFBRRR -FFBFFFFLLL -BFBFBFFLLR -BFFFBBBRRL -BFBFFBBLRR -FBBFFFFLLR -FBBBBBFLLL -FBBFFBBRRL -BFFBFBBLRR -FBFFBFBRLL -BFFFBFFLRR -BBFBFFFRLL -BFFFFFFRLL -FFBBBFFRLL -BBFBFBFRLR -BBBFFFBRLL -BFBFBFFLRL -FFFBBFBLRR -BFFBBBFLLR -FFBBBBBRLR -BFFFFBFRRR -FFBFFFFRRR -FFBFFBFLRL -BBFFBBFLLR -FFBFBFBRRL -FFBBFFBRLL -FFBFBFFRLR -BBFBFBBLLL -FBFBFFBRRR -BFBFFBFLRR -FBFFFFBLRR -BFBBBFBRLL -FFBFFFFRLR -BFFFBBFRLL -FFFBBBFRLR -BBBBFFBLRR -BBBFFFBLLR -FFBBBBBLLR -BBFFFFBLLR -BFFFFFFLRL -FFBBFFFRLL -FBFFFBBLLL -FFBFBFFRRL -FBFBBBBRLL -FBFBBFFLRR -FBFBFFFRLR -FBFFBBFLLR -FFBFFFBRLL -BFBFFBFLRL -FFBFBBFLLL -FFBBBFFRLR -BBBFFFFLLR -BFFFBBFRRL -BBFFFBFRLR -BFFBBFFRLL -BBBFFBBRLL -BFBBBBFLRR -FFFBBFBLLR -BBFFBFBRRL -FFBFFFBRLR -FBBBFFFLRL -BBBBFFFLRL -BFFBFFBRRL -FBFFFBFLLL -FFBBBFBRRR -FFBBBFFRRL -BFFBFBBRRR -FBBFBFBLRR -BBFFFFBRRR -FFBFBBBRLR -FFBBFFBLRR -BFFFFFFRRR -BFBBFFFLRL -FBFBFBFLRL -BFBFBBBRLL -FBFFBFBLLL -BBFBFFFRRL -BFBBFFFRRR -BFBBFBFLLR -BFBFBFBRLL -FBFBFBBLLR -FBFBFBFRRR -BBFBFBBLRR -BFBBFBBLLL -BFFFFBFLLL -BFFFBFBLRR -BBFBFBBLRL -FBBBBFBLRR -BBBFBBFRLR -FBBFBFFLLR -FBFFFBFLRL -BBFFFBFLLL -FBBFFFBRRL -BBBFFFFLLL -BFFBFFFLLR -FFBBBFBRRL -BFFBBBBRRL -FFBFBBBRLL -BBFBBFFLRR -FBFBBBBLLL -FFBFBBFRRR -BFFBFFBLLR -BBFFBFFLRL -FFBFBBBLLR -FBBBBBBLLR -BFFFBBBRLR -BBFFBBFLRL -FBFFBBFLRR -FBFFFFBLLL -BFBFBBBRRR -FFBFBBFRLR -FFBFFBBLLL -FFBBBBFRLL -BFBFBFBLLL -BBFBBFFLRL -FFBFBBFLRR -FFBBFBBRLR -FBBBBFBLLR -FBFFBFBLLR -BFFFBBBLLL -FBFFFBFRLR -BBFBBBFLLL -FBBFFBFRLL -FBFBFBFLRR -BFFFBBBRLL -BFBFFBBLLR -BFBBFFFLLR -BFFBBFBLRR -FBBFFBFLRR -FFBBFFFRLR -BBFBBBFLLR -FBFBFFFRRL -FBBBBBBRRL -FBBFFBFLLL -BFFBBBBRRR -BBFBBBFRLL -BFFFFBBLRL -BFBBFBFRRR -FBBFBBBLRR -BFBFBBFLRR -BFBFBBFRLR -FFBFFBFRRL -FBBFBBBRRR -BFFFBFFRRR -BFBFBBBLRR -BFBFBFFRRR -FFBBBBBRRL -FFBFFFFRLL -FFBFFBBLRL -BBBFFFBRRL -FBFBBBBRLR -BBFFFFFLRL -FBBBBBBLRL -BFBBBBFRLR -BFFFBFFRRL -FBFBFFBLRL -FFBBFFFLRL -BFFFBFFRLR -FBFFFFFRRL -BBFBFFBLRR -FBBFFBBLRL -BBFBBFBRLL -FFBBFBBLLR -BBBFBBFLLL -BFFBBFBLLL -BBBFFBBRRL -BFFFFFBRLR -FFBBFBFRLL -FBFFBFBLRL -FBBBFFBRLL -FBBBBBFRRL -FFBBBFFLLL -FBFFFBBLRL -BFBFBBFLLL -BFFFFFBLRR -FBBBFFFRRL -FFBFBBFLLR -BFFBBBBRLR -FBFFBFBRRL -BBFBBFBRLR -FBFFFFBRRL -BFBFFFBLLL -BFFBBBBLRR -FBFFBFFRRR -BFFFFBBRLR -BFBBBFBLLR -FBBBFBFRLL -FBBBBBBLLL -BFFBFBFLRR -BBFFFFFLRR -FBBFBBFRLL -FBFFFBBRRL -BFFFFBBRLL -BFFFBBFRLR -BFFBFBBLLL -FFFBBBFRRL -BBFFFBBLLL -BFFFBFBRLL -BFBBFFBLLR -FBBFFBBRLL -FBBFBFFRRR -FBBFFFBRLL -BBFBFFFRLR -FFFBBBBLRR -BFBBBFFRLR -BFFBFFFRRL -FBBFBFBRLR -BFBBBBBLRR -BBBFBFBRRR -FBBFFFFRLR -FBFFBBBLRL -BFFBBFFLRL -FBBFBFBRRL -BBBFBFFRLL -FBFBBFBLRR -BBFFFFBRLR -BFBBBFFLLR -FBFBBBFRRR -FFBFBFBLLR -BBBFFBBRLR -BFFBFFFLLL -FBFBBFBRRL -FFFBBFBRRR -FBBFFFBLRL -BBFBBFBLLR -BBFFBFBRLR -FBBBFBBLLL -BBFBBBBRRR -FFBFBFFLRR -FBBBBFFLLR -FBBBFBBRLR -BBFFBFFRLR -FBFFFBFLRR -FBFBFBFRRL -FBBBBBBRLL -BFFFFFFLLL -BBFBFBFRLL -BBBFBFBRRL -FBBFBBFLLL -BFFFFBBRRL -BBFBFBBRRR -BBBFBBBRLR -BBBFBBFRRR -BFBFFBFRLL -BFFBFBFRLL -BFBBBFBRRL -BFBFFBBLLL -BFFFFFFLLR -FBFFBBFRRL -FBFFBFFLRR -BBBBFFFRRL -FFBFBFFRLL -FFBFBBBRRL -BFBFFFFLRR -FFBBBBBRRR -FBFBBBFRLR -BBFBFFFLLR -BBFBFFFLRR -FBBFBBBRLR -BFBFFBBRRL -FFFBBBBRRL -BBBFBFBRLR -FBBFBBBLLL -BBBFFFFRRR -BBBFBFBLRR -FBFFBFBRLR -BFFBBFBRRR -BBFFFFFLLL -BFBFFFFRLR -FFBBFFBLLL -FFFBBFFRLL -BBBFFBFLRL -BFFBFFBRLL -FBFBBBFLRR -BFBFBFBRRR -FBFFBFFRLL -FFBBFFFLLR -FFBFFFBLRL -FFFBBBFRRR -FFBBBBFLLR -FFFBBBFLLL -BBBFFFBLRR -BFFFFFBRRR -FFBBFBBLRR -BFBFFBBRRR -BBFFFFFRRR -FFFBBFFRRR -FFBBBFFRRR -BBFFFBFLRR -FFFBBFBLLL -BFBBFFBLRR -FBFBFBFRLR -BBBFBBBRRL -FBBFBBBRRL -BBBFBBBRRR -BFFFBFFLRL -BFBBBBBRRR -BBBBFFBRLL -FBFBBFBLLL -FBFBBFFRLR -BBBFFBBRRR -BBFBFFBLRL -FFBBBBFLLL -FFBBFFFRRR -BBFBFFFRRR -FBBBBBBRRR -BBFFFFFRLR -BFFFBFBRRR -BBFFBBFRRR -BFBBBBFLLL -FFBBFFBLLR -BFBFFBBLRL -FBFBFFBRLR -FBFFBBBRRR -FFFBBBFLRL -BFBFBFBLLR -BFBFBFFRLR -BBBFFFBLRL -FBFBBFFRLL -BBFBFFBRLR -FBBFBBFLRL -FBFFFFFLRR -FFBFBFBRLL -BFBFBBBRLR -BFFBBBFRRL -FBFFFBFLLR -BFFBBFBRLR -BBFFFFBLRL -FFBBBBFLRL -BFFBBBFLRR -FBBBFFBLLR -BBFBFFBRRR -BFFBBFBRLL -FFBBBBFRRR -BBFBFFBRRL -FBBBBFFRLL -BBBBFFBLLL -FBFFBBFRLR -BBFFFFFLLR -BFFFFFBRLL -FBFBBFBLLR -FBFBBFBRLR -BBFBFFBLLL -FFBBFBBLLL -BFFFBFFLLL -BBBFBBBLLR -FBFBFBBRRL -BBFFFBFRRR -FBFFBFFLRL -BBBBFFBRRL -FBFFFFBLRL -BBFBFBBRLR -BFBBFFFRLL -FBFBFFFRLL -FBBFFFFRRR -FFBFFFFLLR -FFBBBBFLRR -BBFFBFFLLL -FFBBFBFLLR -FFBBFFBRRR -FFBBBBBLRR -BFFBFFFRRR -FBBBFBFRRR -FBFFBBBLRR -BBBFBFFLLR -FBFFBBBLLR -BFFBBBBRLL -BFFFFBBLLL -BFFFBFBLLL -FBFBFBBLRR -BBBBFFFLRR -FFBFFFBLLL -BBFBBFBLLL -BFFBFFBLLL -FBBFBBBLLR -FBFFBFBLRR -BFBFFBFRRR -FBFBFBBRLR -FBFFFFBRRR -FFBFFFFRRL -BFBBFFFLRR -BBFBFFBRLL -BBBBFFBLLR -BFFFFFFRRL -BBFFBBFRLL -BBFBFBFLRR -FBBFBFFRRL -BFFFBFBRLR -BBFFBBFRRL -FBBBBBFRRR -FFBBFBFLRL -BFBFBBFRRL -FFFBBFFRRL -BFBFFBFLLL -FBFBBFFLLL -BBBFBFFRRL -FBBFBFFRLL -BBFFFBFLLR -BFFFBFBRRL -FFBFBFFLLL -FBFBFBBRRR -BFFFFBFRLL -FBFBBBBRRL -FBBBFBFLRR -FBBBBFBRLR -FFBFFBBLLR -BBBBFFFRLL -FBBFBFFLLL -FBFBFBBLRL -BFFFBBFLLL -FFBBBBBRLL -BFBBBBFLRL -FFBFFBFLRR -FBBBBBFLRR -BBFFBFBLLR -BFBFBBFLRL -BBBFFBFRLR -FBBBBFFLRR -BFBFFBFRRL -FBFBFFFLRR -FBBFBBFRLR -FBBFFFBRRR -FBBFBBFRRL -BFBFFFBRRL -FFBFBBBLLL -FFBBBBFRLR -FBFBBBFRLL -BBFFFBBLRR -BFFBFBFLRL -BBFFFFBLLL -FBFBBBBLLR -BBBBFFFRLR -FFBBFFBLRL -FBBBFFBLRR -BBFFFFBLRR -BBFFBFFRLL -BBFFFFFRLL -BBBFBBBLLL -FBBBFFBLLL -FBBBFFBLRL -FBBBBBFLLR -FBBBFBBRRR -FBBBFBBRLL -BBBBFFFRRR -BBFFBBBLLR -FBBBBFBRRR -FFFBBBBLLR -BFFFFBFLLR -BBBFFBBLLL -FFBFBFFRRR -FFFBBFBRLL -BFBBBFBLRR -FFBFFFFLRL -BFBBFBFRLR -BFBBBFBRRR -BFFBBFFLLL -BBFBFBFRRL -BBFBBBBLRL -FFBFFBFRLR -FBFBBBFRRL -FFBBFBFLLL -BFFFFBBRRR -FBBBBFFRLR -FBBFFFFRLL -BFBBFBFLRR diff --git a/src/day_01.rs b/src/day_01.rs index e83fb50..31bde9e 100644 --- a/src/day_01.rs +++ b/src/day_01.rs @@ -1,47 +1,10 @@ -pub fn find_two_values_that_sum_to_n(inputs: &Vec, n: u64) -> (u64, u64) { - let mut initial = 0; - let mut end = inputs.len() - 1; - - let values = loop { - let sum = inputs[initial] + inputs[end]; - if sum > n { - end -= 1; - } else if sum < n { - initial += 1; - } else { - break (inputs[initial], inputs[end]); - } - }; - - values -} - -pub fn find_three_values_that_sum_to_n(inputs: &Vec, n: u64) -> Option<(u64, u64, u64)> { - for first_item in 0..inputs.len() { - for second_item in (first_item + 1)..inputs.len() { - let sum = inputs[first_item] + inputs[second_item]; - - if sum >= n { - break; - } - - let val3 = n - sum; - - if inputs[second_item + 1..] - .binary_search(&val3) - .is_ok() - { - return Some((inputs[first_item], val3, inputs[second_item])); - } - } - } - - None +pub fn example_of_function(_inputs: &Vec) -> bool { + true } #[cfg(test)] mod tests { - use super::{find_two_values_that_sum_to_n, find_three_values_that_sum_to_n}; + use super::{example_of_function}; use std::fs::File; use std::io::{BufReader, BufRead}; @@ -49,14 +12,12 @@ mod tests { let input = File::open("input/day_01").unwrap(); let buffered = BufReader::new(input); - let mut content: Vec = buffered.lines() + let content: Vec = buffered.lines() .into_iter() .filter_map(Result::ok) .map(|number| number.parse::().unwrap()) .collect(); - content.sort(); - content } @@ -64,37 +25,17 @@ mod tests { fn sample_input_first_challenge() { let sample_input = vec![299, 366, 675, 979, 1456, 1721]; - let values = find_two_values_that_sum_to_n(&sample_input, 2020); + let values = example_of_function(&sample_input); - assert_eq!((299, 1721), values); + assert_eq!(true, values); } #[test] fn first_challenge() { let input = open_test_file(); - let values = find_two_values_that_sum_to_n(&input, 2020); - - assert_eq!((337, 1683), values); - assert_eq!(567171, values.0 * values.1); - } - - #[test] - fn sample_input_second_challenge() { - let sample_input = vec![299, 366, 675, 979, 1456, 1721]; - - let values = find_three_values_that_sum_to_n(&sample_input, 2020).unwrap(); - - assert_eq!((366, 979, 675), values); - } - - #[test] - fn second_challenge() { - let input = open_test_file(); - - let values = find_three_values_that_sum_to_n(&input, 2020).unwrap(); + let values = example_of_function(&input); - assert_eq!((281, 877, 862), values); - assert_eq!(212428694, values.0 * values.1 * values.2); + assert_eq!(true, values); } } diff --git a/src/day_02.rs b/src/day_02.rs deleted file mode 100644 index 49e4f39..0000000 --- a/src/day_02.rs +++ /dev/null @@ -1,72 +0,0 @@ -extern crate regex; - -use regex::Regex; - -pub fn password_validator(passwords: &Vec) -> usize { - let re = Regex::new(r"(\d+)-(\d+) (\w): (.*)").unwrap(); - let mut valid_count = 0; - - for password in passwords { - let cap = re.captures(password).unwrap(); - let min = cap[1].parse::().unwrap(); - let max = cap[2].parse::().unwrap(); - let character = cap[3].chars().collect::>()[0]; - let pass = &cap[4]; - - let mut count = 0; - for pw_character in pass.bytes() { - if character as u8 == pw_character { - count += 1; - } - } - - if count >= min && count <= max { - valid_count += 1; - } - } - - valid_count -} - -#[cfg(test)] -mod tests { - use super::{password_validator}; - use std::fs::File; - use std::io::{BufReader, BufRead}; - - fn open_test_file() -> Vec { - let input = File::open("input/day_02").unwrap(); - let buffered = BufReader::new(input); - - let mut content: Vec = buffered.lines() - .into_iter() - .filter_map(Result::ok) - .collect(); - - content.sort(); - - content - } - - #[test] - fn sample_input_first_challenge() { - let sample_input = vec![ - "1-3 a: abcde".to_owned(), - "1-3 b: cdefg".to_owned(), - "2-9 c: ccccccccc".to_owned() - ]; - - let values = password_validator(&sample_input); - - assert_eq!(2, values); - } - - #[test] - fn first_challenge() { - let input = open_test_file(); - - let values = password_validator(&input); - - assert_eq!(467, values); - } -} diff --git a/src/day_03.rs b/src/day_03.rs deleted file mode 100644 index 8b0bbc8..0000000 --- a/src/day_03.rs +++ /dev/null @@ -1,83 +0,0 @@ -pub fn count_trees(input: &str, slope_right: usize, slope_down: usize) -> usize { - let map = parse_input(input); - - let mut tree_collision = 0; - let mut position = 0; - - for row in map.iter().step_by(slope_down).skip(1) { - position += slope_right; - position %= row.len(); - - if row[position] == Space::Tree { - tree_collision += 1; - } - } - - tree_collision -} - -#[derive(Debug, PartialEq)] -pub enum Space { - Open, - Tree, -} - -fn parse_input(input: &str) -> Vec> { - let mut out = vec![]; - let width = input.lines().next().unwrap().len(); - - for raw_row in input.lines() { - let mut row = Vec::with_capacity(width); - for byte in raw_row.bytes() { - let space = match byte { - b'.' => Space::Open, - b'#' => Space::Tree, - _ => { continue; } - }; - - row.push(space); - } - - out.push(row); - } - - out -} - -#[cfg(test)] -mod tests { - use super::{count_trees}; - use std::fs::read_to_string; - - fn get_sample_input() -> String { - read_to_string("input/day_03_sample").unwrap() - } - - fn get_test_input() -> String { - read_to_string("input/day_03").unwrap() - } - - #[test] - fn sample() { - assert_eq!(7, count_trees(&get_sample_input(), 3, 1)); - } - - #[test] - fn first_challenge() { - assert_eq!(205, count_trees(&get_test_input(), 3, 1)); - } - - #[test] - fn second_challenge() { - let trees = get_test_input(); - - let tests = vec![(1, 1), (3, 1), (5, 1), (7, 1), (1, 2)]; - - let mut result = 1; - for (slope_right, slope_down) in tests { - result *= count_trees(&trees, slope_right, slope_down); - } - - assert_eq!(3952146825, result); - } -} diff --git a/src/day_04.rs b/src/day_04.rs deleted file mode 100644 index 81d7bd7..0000000 --- a/src/day_04.rs +++ /dev/null @@ -1,92 +0,0 @@ -extern crate regex; - -use regex::Regex; - -pub fn validate_passports(input: &str) -> usize { - let passport_fields = parse_input(input); - - let required = vec![Fields::BirthYear, Fields::IssueYear, Fields::ExpirationYear, Fields::Height, Fields::HairColor, Fields::EyeColor, Fields::PassportID]; - - let mut valids = 0; - - for passport in passport_fields.into_iter() { - let fields_count = passport.into_iter() - .filter(|field| required.contains(field)) - .count(); - - if fields_count > 6 { - valids += 1 - } - } - - valids -} - -#[derive(Debug, Clone, PartialEq)] -pub enum Fields { - BirthYear, - IssueYear, - ExpirationYear, - Height, - HairColor, - EyeColor, - PassportID, - CountryID, -} - -fn parse_input(input: &str) -> Vec> { - let mut out = vec![]; - let re = Regex::new(r"(\w{3}):(\S*)").unwrap(); - - let mut data: Vec = vec![]; - for row in input.lines() { - if row == "" { - out.push(data.to_vec()); - data = vec![]; - continue; - } - - for cap in re.captures_iter(row) { - let field = match &cap[1] { - "byr" => Fields::BirthYear, - "iyr" => Fields::IssueYear, - "eyr" => Fields::ExpirationYear, - "hgt" => Fields::Height, - "hcl" => Fields::HairColor, - "ecl" => Fields::EyeColor, - "pid" => Fields::PassportID, - "cid" => Fields::CountryID, - _ => { continue; } - }; - - data.push(field); - } - } - out.push(data.to_vec()); - - out -} - -#[cfg(test)] -mod tests { - use super::{validate_passports}; - use std::fs::read_to_string; - - fn get_sample_input() -> String { - read_to_string("input/day_04_sample").unwrap() - } - - fn get_input() -> String { - read_to_string("input/day_04").unwrap() - } - - #[test] - fn sample() { - assert_eq!(2, validate_passports(&get_sample_input())); - } - - #[test] - fn first_challenge() { - assert_eq!(210, validate_passports(&get_input())); - } -} diff --git a/src/day_05.rs b/src/day_05.rs deleted file mode 100644 index e2b8738..0000000 --- a/src/day_05.rs +++ /dev/null @@ -1,89 +0,0 @@ -#[derive(Debug, Clone, PartialEq)] -pub enum Actions { - Upper, - Lower, -} - -const ROWS: u16 = 127; -const COLUMNS: u16 = 7; - -pub fn translate_seat(input: &str) -> (u16, u16) { - let actions: Vec = input - .chars() - .map(|c| match c { - 'F' | 'L' => Actions::Lower, - 'B' | 'R' | _ => Actions::Upper, - }).collect(); - - let rows = actions[0..7].to_vec(); - let columns = actions[7..].to_vec(); - - let row_num = calculate(&rows, &ROWS); - let column_num = calculate(&columns, &COLUMNS); - - (row_num, column_num) -} - -fn calculate(rows: &Vec, limit: &u16) -> u16 { - let mut initial: u16 = 0; - let mut end = *limit; - - for action in rows.into_iter() { - println!("({} - {}) / 2", end, initial); - let middle: u16 = (end - initial) / 2; - println!("{}, {:?}", middle, action); - - if *action == Actions::Upper { - initial += middle + 1; - } else if *action == Actions::Lower { - end = initial + middle; - } - } - - initial -} - -#[cfg(test)] -mod tests { - use super::{translate_seat}; - use std::fs::read_to_string; - - fn get_input() -> String { - read_to_string("input/day_05").unwrap() - } - - fn calculate_result(result: &(u16, u16)) -> u16 { - result.0 * 8 + result.1 - } - - #[test] - fn sample() { - let mut result = translate_seat("FBFBBFFRLR"); - assert_eq!(357, calculate_result(&result)); - - result = translate_seat("BFFFBBFRRR"); - assert_eq!(567, calculate_result(&result)); - - result = translate_seat("FFFBBBFRRR"); - assert_eq!(119, calculate_result(&result)); - - result = translate_seat("BBFFBBFRLL"); - assert_eq!(820, calculate_result(&result)); - } - - #[test] - fn first_challenge() { - let inputs = get_input(); - - let mut bigger = 0; - - for input in inputs.lines() { - let result = calculate_result(&translate_seat(input)); - if result > bigger { - bigger = result - } - } - - assert_eq!(974, bigger); - } -} diff --git a/src/lib.rs b/src/lib.rs index 993882d..83a7f75 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,5 +1 @@ pub mod day_01; -pub mod day_02; -pub mod day_03; -pub mod day_04; -pub mod day_05; -- 2.51.2