From 458e998c3dce47e75b9fc079fc778e7f9756d5d7 Mon Sep 17 00:00:00 2001 From: randomuser Date: Thu, 8 Jul 2021 00:24:59 -0500 Subject: [PATCH] add answer 2 --- 2020/2/input | 1000 ++++++++++++++++++++++++++++++++++++++++++++ 2020/2/solution.py | 50 +++ 2 files changed, 1050 insertions(+) create mode 100644 2020/2/input create mode 100644 2020/2/solution.py diff --git a/2020/2/input b/2020/2/input new file mode 100644 index 0000000..f494407 --- /dev/null +++ b/2020/2/input @@ -0,0 +1,1000 @@ +1-4 j: jjjqzmgbjwpj +2-4 w: sckwwf +1-13 b: bcbbbbbbbbbbhbb +10-11 x: xjxxxxxxxxzxxx +13-14 d: dddddddddddddd +16-18 s: ksttbjsstpnsvtcjnx +3-8 k: gkkqkbpvkrx +3-7 c: mccnjgcxkfkp +3-7 b: hgbqzrjvwqbfc +8-14 r: rrrrrrrfrrrtrrrr +5-6 v: vvvvwpvvv +4-5 b: zfkpb +12-13 n: nwnwdplnhfhlnnnntfn +9-14 z: sxzjzfrzztczlw +1-14 n: vnnnnnnnnnnnnnnnnnnn +4-6 b: bbbsbb +2-7 x: xxsjxpxx +6-8 z: wzfqzzzzn +2-17 b: cbbmwqmjxhkvjnfbx +3-9 h: hhhhhghhshh +3-13 m: mmzmmmmmmmmmxmmmb +2-4 v: xnxv +3-4 s: tsxsns +1-11 m: mmmmzvmmwmmmmmmmmmm +3-6 h: hhhhhkhhhh +9-10 n: nnnnnznstln +9-10 s: svrssgssstss +3-4 j: jjvd +1-3 n: nnnnn +3-5 w: gwhdxvpf +3-10 c: bxldcllfmxkhzm +7-9 v: vvvnjbvvq +1-4 r: brrjbrrrr +3-4 l: llvlf +16-17 p: pldpppppppppppqpfpp +2-3 k: gbklks +11-13 g: gggggggggggwfzg +1-5 n: tnnnkn +10-13 k: rkzkkkkczprzv +10-13 p: ppppxppppvppnppp +2-4 d: zjvf +2-3 h: hhpkstbgpb +10-15 q: qqqqqqqqqqqqqqqqq +7-8 w: wwvwwwjw +12-17 p: mfjzpnvptpqgppptc +4-6 q: qkqqqs +10-11 p: vkbftpcpptp +6-8 k: kkqkknkkk +8-9 j: jjrjdcjrj +14-16 f: clqwfdsfbjngfkwf +14-18 v: vzvvvsvvvvklvjcvvvv +9-12 t: tttttttttwttttt +1-4 q: tqqqq +7-16 r: rrrrrrfrrrtrrrrrrrr +7-9 c: tcfqhcwdfd +3-4 x: kpxx +7-9 d: dbdxdddnnddndkdrzd +2-4 h: gshhhhhhhhhhhhhhhhhh +11-12 x: xxsxxxxxxrxtxx +12-16 t: tttttttttttttttpttt +2-8 r: kzttpqxrcp +2-3 m: mmzmm +9-10 c: ccfcccccswc +6-7 h: hhhhhhhhhhhh +5-6 z: zzzzwzmhfc +1-4 h: qhwt +5-13 w: cwkwjrvjkwvlwrmv +2-10 z: tmnrtwqzmznhrqtgqnv +9-13 j: qwknzzkzxfrjs +18-19 v: zlwnvtxlvbwwvjlltqv +5-11 d: dxgksqbqrjdb +3-7 q: qqzrrqpqdqqqqqqqzqqq +1-4 g: bczgbbsxgg +12-13 d: cxcpddldkpndd +4-13 r: rgrrrhmzrrvwrrr +15-18 d: dddddxzdnddtpddmddd +8-9 z: zzfgmfnfh +3-4 l: llmll +5-6 w: lmwmwk +3-11 j: jjjjjjjjjjjj +11-14 n: ntnnnnnnnnnnnr +14-15 h: bhhhhhhhhhhhhhhhhhv +4-5 h: hhhlhthhhhhnhhh +11-14 p: txphnnxwzpkpmt +2-8 c: ctwccpccccbtctckt +1-3 z: wzzzz +8-13 s: ssssssssjsssm +8-9 v: cvvsxvvxvhvnvvk +12-13 p: xpcjdcpflpvpschz +10-15 j: jjpjjtjjjjjjjjvjzcj +5-8 s: sssssssqsssls +3-4 s: fklsnsp +4-6 r: rhbrrzrrmsmwm +2-7 n: nhnnnnnn +8-10 h: hhhhhfhhlh +2-3 p: hgpfqpvq +10-18 m: mmmmmmmmmmmmmmmmmmm +7-9 r: rsrlrrrhwrbcrr +11-12 h: zbhhjpmhjxwh +2-4 z: rzdgz +11-17 w: gbdwctwwcjwjwwwkkp +2-9 w: vxrrmwcxk +4-5 t: ttttp +15-16 s: txfcskwmjltzlrjh +6-15 d: dddddddddddddddd +6-15 w: nnlcwwqwwbgwwsw +9-11 n: kznfnnqnvndnn +3-4 x: xxvm +5-7 c: cccvpjc +3-4 t: tttbt +2-12 s: zshlpkzfqrss +5-8 g: kgvcgzxg +6-8 z: zkzfzfjz +5-9 q: vqqqqqqqqnq +3-4 j: jjws +9-10 g: gggcgrwldzlggvzgcg +7-10 s: pssqsgsswmwmsmqcx +10-12 m: mmmmmmmmmmmlm +4-9 z: fzkzrxzcj +8-10 k: kkkkdkkkkkk +1-6 k: kkqktfjkkk +7-11 t: tztbttxxtnqbp +4-10 w: pwcwgbkwjgr +10-13 t: bztgttttwxqdjttht +3-5 f: llzff +13-14 j: fjwjjjdjjjjjmt +6-7 g: mgggxggr +5-13 l: fsjltvwgqkslltgldjql +4-8 c: cpcgcczg +6-7 n: nnnnnbnn +10-17 s: smdvssstzzsxdkfsk +6-8 p: tplpppfq +11-12 h: dtkhttlthmhl +8-11 q: qqqqqqqqqqrqqqqqqvqq +11-18 b: bnbcblznbbqkfbnqvb +14-16 p: vlkcppcpbrjxchwpgtb +1-3 r: rxrjnrhrn +15-19 x: xrsvsxmjxxxxxxbfztx +1-4 q: zqqq +12-15 c: cffczfcmzscdpmcx +1-8 b: jbbbbbbbbbbbbbtbb +2-4 q: dvdqwwq +2-4 h: jlhhnfqz +1-3 r: lrwqrwxsqmzr +4-5 z: gfzzhkgzpsztzfk +13-14 m: mmmmmmmmmmmmjm +6-8 n: nnnnnnwnnnm +10-11 h: hrhchrqdhxhhhhhhr +9-10 f: fbffflffdf +7-8 v: vvvvvnvv +5-13 t: tftttgtfvtbqttwtdmtt +1-9 v: lvvvvvvvnvv +5-7 j: jjjxrtjj +11-13 s: smsssjsssspsms +7-9 r: mwmrqrprrhvhrtpbfpcb +5-8 s: hwgnssxp +6-8 d: ncftqndxmrh +9-14 g: gggggwglggdgglgmggkg +1-8 w: vwvwwwkwww +1-5 z: zzzzczzzzzzzzzw +5-13 p: pppppppjsvppwppxpp +6-15 v: csvkhzlhvsqvjph +2-6 h: fbdschrjnch +6-8 q: wqtfphkq +2-9 b: nvnmdbblk +4-5 g: ggggg +3-4 v: vbhd +2-4 v: vvmqvv +10-13 c: xqkbrfcpqrmxclxkngfx +7-8 z: hzzzzprz +8-9 m: mmmmmmmnmmm +8-9 n: nnxnnngnfgnz +2-4 t: rztwt +16-17 w: bswzwwqkcqwrmwdwt +11-16 s: sssssssqsssssssxsss +8-11 d: ddddddddddgd +16-18 s: svssssssssssssssss +1-2 c: gccclxklrcqv +2-7 l: gbwllllflkll +1-9 h: hqnhhhhhbhhhhhhhp +14-15 p: lmdpprlcbrppmpp +1-8 n: nrnnnnnnnnnnkf +15-16 q: hpqrjqwjqxntfxqcp +1-7 h: hhffnzfwlqtfhh +1-5 k: znxddgkkfvrkkgrgk +2-5 n: ntnnpnj +17-19 x: fbfrxxctrnbshqwpxpx +6-7 z: bzzpfzl +9-13 n: tnxbnnnnvmnnnntck +9-12 v: vvvbzgzvvcqvzv +5-7 l: lcrplmwl +6-13 k: lkkkdkgzwllmkfkk +3-9 f: qpfvffdgp +2-4 t: jtwj +5-6 q: qqgqqqz +1-2 f: wffgprmf +8-17 m: zmmmmmdmmmmmmmmmqmv +1-13 m: vmmmmmmmmmsmmmm +1-4 j: jjjjjj +1-7 n: vnnnnnnn +3-7 s: snssssqsssr +4-6 b: bbbpbbbbbb +1-4 q: jqqqqqq +4-7 z: zzzzzzhz +10-12 h: hhhdchhdhhjphhfh +14-20 c: hcscjxwvrwmfgjcrcgrs +7-8 b: bbbbbbbjbbbbbb +11-17 w: tjwhcpvhdzkpznqzwxl +4-5 n: prnlncs +4-11 r: rxzqfqwwkld +9-12 z: zltzzjjrtvcpwhzd +1-4 m: rhjmzvkmj +3-4 b: blxjbb +10-11 h: skhhqqhcnhmthq +10-11 t: xtrtvwthftr +2-3 m: mmqczmx +2-4 d: dqddd +1-4 s: stls +4-5 b: bbvqx +15-17 t: hvfnwljtgvtmtmgttt +6-12 f: fpfgptkmfhjf +16-17 c: ccccccrccccccccccvc +9-11 f: ffffffffvff +1-6 g: gggggx +3-7 n: xnnngjhnnn +1-9 b: bnjhbtwhbbdtbx +4-14 q: tnspfdftfhqngv +4-12 h: htrhtrsfqhzhm +3-11 w: wwwwwwwwwpwmwwm +8-9 w: wzwxmwwdw +6-10 b: djbnwblbqzbbbn +4-10 c: bndnxjrnqztcxvlt +1-7 j: jjdgdjz +7-12 d: ddvddcddddxzdddn +12-17 z: zzzzzzzzzfdzzzzzl +5-6 r: rrrrrnrrrrqrrrrr +10-13 x: xzlxzkjrbtvpzh +6-8 b: bbbbbbbbbvb +8-10 q: nqqzqznqqqd +6-18 p: dspgqtpmhdxpdpchpv +2-5 j: jjjjbj +5-16 n: nnnnqnnnnnnnnnnnn +2-8 s: fgssgpsbssssbs +5-6 z: zzlmzvdq +13-16 t: ttttttttttttbttvt +4-18 k: kkkzkzkkkkfkkkkkkjk +8-9 w: wwpwwqxwwnwpvcw +1-7 x: xxxxxxwx +5-6 v: htvvbn +2-4 c: bccqqp +14-17 v: vvvvvvvvvvvvvvvvs +10-11 j: tjjjjjjjjjjjjj +9-11 j: pjjxbjcfjhvmlvpfdn +5-7 v: dvrbrjvmpvhzgpzvvv +2-6 m: mqmmtm +6-9 t: tntttlttttttt +3-6 s: tsnrmqssq +7-10 l: llllllhflvnl +8-12 k: kkkkkkkhkkkkkkk +1-2 k: kckkkvjkkc +8-12 x: sxxxxxxdxxnxgxxxx +15-18 z: zzzzzzzzzzbzzzzzzz +3-7 j: rjjjjjq +13-14 k: kkkkkkklkkkkqkk +4-5 h: hhhqh +9-11 x: xxxxxxxphbxlrxxsxts +4-11 x: gjlmmvxdhfxvjhxbq +6-12 x: xgzcqxjmpvzm +8-9 s: snssssksssss +12-17 s: gnswjqxkmrsssnsbldb +7-8 g: ggzzgfgl +10-11 f: nppdzqkfjfbjhdkx +5-7 f: brcmfsk +7-11 t: ttltfthtttttjtt +3-4 f: zlffkdcnsvm +2-4 f: ggfr +13-16 x: xxxxxxxxxxxxgxxkx +9-10 p: jxtlzqpptpxpzjxh +1-6 k: gjkzkkkkk +5-6 t: tttvgtjtt +1-15 d: vddjdddvddddddddddd +8-13 c: cccccccfcccccccccccc +1-6 x: kxxxxpxxx +4-10 m: mmmjmzlcmmmmmmmmmjm +1-2 k: ksbmkdvwk +1-2 x: dxxxh +4-10 t: zvnvsfvwctrlvs +5-10 b: bbrqbbpbnb +4-5 n: nnmknznn +5-9 b: bnchbmbbbwbfp +6-8 j: jjjjjcjjjjj +4-6 k: kwkbkkkk +5-7 m: mmmtmzhm +12-15 z: zzzzzzzzzzzzzzj +11-14 t: lqstpfwckgtrpt +11-14 z: wfzzzzzzzzvzzz +4-14 n: nnnbcnnnnnnnnnnnn +18-19 q: qvkmtqqqqqkqbqqqqgqd +3-4 m: mmmrkmmmsmmmvzmzmrmm +4-5 m: hcgmm +2-4 v: vmfc +8-11 m: mmmmmmmmmmvmm +1-7 f: fftffqhff +14-15 j: jjjjjjmnjjjhjhjzdjj +16-17 d: ddddwdddddddddrdtnd +5-11 d: ddddcdtrddqddd +7-11 m: xfhmlmkmmpmm +13-14 s: ssssssssssssgsssssss +7-11 v: vkvvvvvvvvvvrvvvvxf +2-3 z: zsjzz +1-2 z: zqdgvz +3-9 z: zzkzzzzzdz +5-8 d: hnjtddwd +10-16 k: lkwbfkbrchfkkkkkc +2-3 m: kmmqb +4-5 q: qqqgq +10-11 z: rjnpzzlbvrfzxthzj +6-7 q: wqzrzgql +6-7 z: mzbzvgz +2-3 p: spfd +14-15 p: jppptjppbptpspv +3-8 b: cbbbbkkbgt +9-11 k: hkvnkgkkpkkl +6-8 f: ffcffpff +4-11 r: rrrnbhrbrpdfrrrrr +12-15 g: dgdgdgghzlgrdggg +15-16 r: npdmnzspxjmbmfwp +1-4 c: xqcrkc +3-9 l: ldcfdlzhbk +5-15 s: ssrsccssqscssnsm +5-8 l: bkdblbxhsmtlqhzwqj +2-3 j: qqnnpmnbjshbb +15-17 f: gffkkffvffdnscffff +3-14 x: xxxxxxxxxxxxxmx +11-15 p: ppppspppppppprppd +3-5 s: wxjks +8-15 d: dgdsdbddldchdvdddd +14-15 k: kkkkkkkkkkkkbckk +9-17 z: zzzzzzzzbzzzzzzzqz +4-10 b: hbzkfbkmgb +2-4 w: bwgwwn +3-4 r: knrr +9-14 p: tpcwnftjppvdqddprw +1-2 d: dppdd +1-5 n: pnnnnnnn +6-7 s: ssssssss +8-13 h: hgdnhnhltbhbhhdhszw +6-12 w: rtswsljcxzjwjhbcdng +1-2 h: hhddcvjhrrqpqq +9-12 r: crrrrrrrrrrdr +9-12 k: kwkkkkkkcbkpk +2-5 d: ddddt +1-4 g: nggl +3-6 r: lrrtrdrfvg +6-7 r: rzrglrwrv +1-2 l: hgllll +2-4 z: zvbz +6-7 c: cccccnccccc +3-4 w: glwmm +8-11 z: vjzszzzznzzlzzs +6-8 z: pzzfqpzzxzfz +6-11 p: vwpppghprpmrdv +9-13 p: mzkpjpvjhppkjkwx +9-14 j: jwhwjkvszjwdzglb +1-4 r: nrrlnpvdgfxk +8-9 j: ggjsdmzjksxjcjgtw +3-5 w: qjwwxw +7-9 v: vvvvvvgvvv +11-15 v: vvlgpvxvvpvkvvfb +5-8 h: hhhhjpjk +2-4 l: ldlz +2-8 w: jljwwwwwbwwfw +6-7 r: swwrzrr +9-11 m: mrwmmmmmznmcm +12-14 k: nkkkkkzkkkkkkk +3-4 z: zktz +3-6 r: rxcrkrzgrrrqfl +4-7 q: kqwqpcqzq +4-7 d: dndxpdd +4-15 d: srddqhbcptnjhsdfgt +4-13 q: xqqvjvdbvhqfqg +10-12 p: rgmvtphzzpzp +1-6 d: ddddddddd +9-10 q: qqqqqqqqpqq +11-12 d: dddwddmddmvdtnhd +3-13 s: pfxnkkttnbqqbcfmhkls +1-8 g: ggggggggg +3-4 f: lkfn +8-14 x: xxxkcxxxxxxxrnmxx +5-10 d: zjbhdrpdkssbp +3-12 f: fffffbfffffgf +6-7 s: tkrwhsf +15-19 w: dwwjxwwkwwwwcwsqwwx +3-4 d: ddhn +3-4 c: ccjtc +6-10 z: zzzzcdzvzzzz +5-6 p: jlppzpwprp +1-7 x: zxxxxmxxx +12-17 n: nvzsnrrnnbnwgmwxvnzt +11-12 r: rmrrqrvlnqrr +6-12 f: vcqwfcrwgxbfbbssxp +7-9 p: wpppppppb +1-4 s: sssrsss +5-6 q: fqqqhqbq +6-10 f: nfhfpffffm +3-6 q: qqqqqqqq +10-12 b: bbbwmbqvxrbbfdpr +19-20 n: nnnntnnnnnnnnnnnnnbg +8-10 r: rrrrrrrrrqr +2-12 s: psqbsjvjtqxrxfmm +5-7 h: qhxlmgh +4-5 b: zkbnb +7-9 c: zgfgzfcbxbpwgmqp +2-5 z: zbzzzzzz +12-15 v: tvrsxtktpjvknkv +4-5 n: nnnnnnn +1-2 h: vxhhhf +13-17 x: xxxxxxxxxxxxtxxxxxx +3-5 f: hzqhfjxrbjfvkldfqqd +3-10 h: zhhqdbgmxh +12-13 t: tttttttttwttmt +1-8 m: wmdmsmmmmmmm +16-17 l: lllllllllllllllvll +3-15 z: dnzrtbjrlgfhljzsw +3-10 p: pppppppppppppnp +2-12 j: zjpdzqnfvddmctlbsnj +5-13 f: fvghfmfqmnbff +3-7 v: scvvshj +2-5 v: vvzvc +3-16 c: mzfhwgplcbrkxgbc +3-4 b: ppcbnzrbpcdn +1-6 q: nnqnzq +11-13 w: wmswntwbrdwvhh +1-12 r: rrrrrrwrlrrrrrrr +3-9 q: ljxlwsqrq +5-6 m: mmmmmlm +10-12 h: hhhhhhhhhhhph +14-19 f: ffnffrmzfffffffgffh +2-3 j: jvjj +3-10 t: tgtwjttjcjbktn +1-2 l: lnlnwlflbllznllzlr +8-10 h: hhhhhhhfhk +11-12 q: jqqqqqqqqqmq +1-3 m: mkmmr +12-13 z: wxpzlzczmsfzc +12-14 t: tttqwtvtkkwkrt +8-12 x: xxxwxxxbxxxrtjxpt +4-7 g: ggtxgggg +3-5 g: qzcdwg +10-11 g: zgbzfrgsggp +2-5 g: gnggdg +14-15 n: rnnnnnnnnnqnnsncn +14-15 g: wggggmggggwkggdg +13-18 p: phgpjbpgtgkpcrcpdfpp +5-7 v: vlrmvpdw +6-7 v: vvvvvzvv +10-11 v: nrdpdcsbfvvbfzxvm +1-2 d: ddbjvqhd +8-10 w: wwvwwkvxwbwwww +3-6 z: zzzdkjzwjn +10-12 x: xxxxxxxxxsxx +13-14 m: mmmmmmmmmmmmmlmmmm +5-7 s: ssssssdsssssss +3-4 p: phlpp +6-16 m: mmmmmhmmmmmmmmmf +7-8 j: jjjjjjjbjv +1-4 p: fwpxpkp +4-8 p: pppppppvp +1-2 w: cwwwwwwwk +13-18 g: grgskrgdgzggbbqhqbg +2-9 s: rhnztnfssmrsr +1-6 t: tttttv +2-7 d: bdpcxgwdqgqzgsfvbm +9-11 d: ddddddddbdd +7-17 h: hhhbhhmhbhhhsvhhh +7-16 v: vvvltnvvmcrqvvdmzmhc +1-10 j: bqjjlxdchwmbm +11-12 b: mjwbwbcjbdbs +4-5 x: bzlxc +4-9 s: dssssssvblsqstssts +5-6 b: bbmbtbbwb +11-12 b: ghtgfbnjtqxb +3-6 j: jjrjjjjjj +3-4 w: wwwwww +11-13 m: mmmmmmmmmmmmhm +8-11 s: sssspsspsss +2-4 j: jjjk +3-6 p: xpmppvzp +6-8 l: qwtbjzhld +2-3 n: nxtn +5-8 w: qnwpwwwwjbctp +6-7 n: dnwlnnn +3-4 g: bfmgwdg +10-12 n: qshvtphvnwmn +4-7 f: zgfnkfj +3-15 s: zvslmfqcmxvsgvv +15-18 q: qqhqqqqqqqqvqqmqqwq +4-6 w: dlwwxcpmq +4-9 k: kkklkkkkkkk +8-10 c: ccccccdwccr +1-4 z: jczzzzgzmzzzrzzzz +8-9 r: jvtrktdvdfr +2-8 v: vzvvvvvv +2-3 l: lllll +11-14 c: cccccccckcccctc +3-4 b: wxcrhbkpbtkqbb +5-7 t: zgptttr +1-7 m: fmmmmtmmmm +3-7 p: hvcpkbp +4-5 v: pgvhc +19-20 t: tnttttttttttttlttttt +3-6 c: ccccccc +12-19 s: jbpsshpsnvnzssdshss +3-7 n: npqnnvn +2-5 p: nppcv +2-6 b: bbbbbd +2-14 c: chclncgrhqqccbtcfc +6-8 t: ttttttttttttt +7-14 n: njnnnknlnnnnnnnn +13-17 q: qwvzjwgqkshxqlqfqh +9-12 v: vbvcvvqvpvvvvvbv +6-7 z: zzzzzgv +3-5 v: gvgfvvxrcdvvvvmrvv +11-16 z: zzznzlcjzzcjzwfl +1-4 w: wlwwqwwwr +15-17 r: mrrbxprsxclprfslcd +10-11 s: sssssssssds +9-13 p: qjmdllptppszpl +12-13 n: nvngpnnnnnnsn +8-15 n: mnsnnbdnnnngfhn +1-18 b: kbbbdbbbbbzbgnbbbb +2-8 b: bjbmbjpbbmhbsxbbv +7-17 f: ffffffffffffffffvfff +10-13 q: qqqqqqqqqtqqq +5-6 s: ssssrts +9-20 t: txplrphbwnvnvkftmnct +6-7 f: ffrfbfffnf +10-13 s: ssssfvlsssnsv +4-5 l: qwrhllzmlrz +12-18 n: nnnnnnnnrnnzncnxnnw +14-15 k: lsrknlskcnbbdknfjj +3-5 z: wzzzzh +1-3 j: qjvjjjw +5-6 n: nctxhn +8-19 r: krrkhxrfflxhrphrzvrw +9-10 r: tqrkrrrsrvrrqrrp +6-12 l: ldlnxrlllvlkllkl +3-6 p: jpwwzpcppwtspp +12-13 p: ptptpppkpzppgpppd +5-6 w: wwwwtwwww +12-14 p: mkqwvmptpxslfppk +2-5 f: bxfvf +4-7 v: qvvwvxvvvvvvv +8-9 t: mxthgrlth +5-6 k: kkkkkkk +8-11 q: hqqfqqqnqqw +11-14 w: wfwwwswwtwvwwgwjww +10-12 n: qnnnnnnnprnnnn +4-6 g: fdvgfhgjzgg +3-4 p: hdpp +2-5 l: lfllllll +13-17 z: zzzzzzzzjzzzzzxzgzzz +12-15 m: lzmxcrkqfcvmbbmtxrs +14-15 d: njdwbbhbzvtsdtvn +7-8 x: xmxrxxmz +8-15 p: gfznjbfbqpbpmspp +9-20 z: wdrzlmltkddzlqgzsvpz +5-6 f: qqgxpzbnb +7-9 l: jlllllllc +1-6 x: xmbxxjxd +4-5 p: pppdp +5-6 f: ffffzff +2-4 r: rrrxr +3-6 s: vpsbsv +7-10 c: spcccccccl +3-6 h: sshhkhcr +10-15 f: fnfjfpfmfrfffffffj +15-16 z: tzzzgshvmdgzndgs +5-15 s: sksssqcsbjdsmvfxt +8-9 p: ppppppjrpvp +8-12 v: vvvvvvvgvvvvvv +2-3 k: kzkk +13-17 t: ttttttttttttttttrt +6-10 l: swtvlwrlslgh +1-3 r: wrnr +3-4 k: kkkfkkkkkkkkqkkkkkkk +8-9 k: kkkkfkkzk +5-9 p: vplbwppwfgfpchjlcf +1-2 t: skttrtts +2-6 h: bhqznh +13-14 k: kcskmkkkwlpqqck +14-15 s: jsshdssxsqssjkm +5-13 t: tgchhzcttxlttwtkt +5-10 l: lslnbllmlw +3-4 k: xkqqf +2-11 p: ppppvqppjpx +6-12 h: hhhhhhhhhhhjhhh +4-6 k: fkpmnfhrm +8-11 t: xwzgtlvswrt +4-11 r: rrrrrrrdrnrrrrbg +5-7 k: kkkkkkhk +1-6 l: lllllkl +18-19 f: frtfffffffxmfffdvfc +5-7 h: nzhhngrhhhh +7-8 j: jjjjjjjsjjjjnjjjjj +6-7 v: vvkbvrqvg +4-10 s: sssgsssxxssss +1-3 h: hhgrwfn +1-5 c: ccjgcbcc +7-10 p: cpnnpgpprppppxpjp +9-10 p: pppcpppppppp +10-12 c: ccfczqcgccdcf +3-5 j: vwjdv +10-13 l: llllpblvclnlwllx +3-4 n: nnctnp +4-5 z: zzzzmzzzz +4-5 s: mcsslbgst +7-9 p: ppppdbpwmpppkppsp +7-13 d: vdnmpvdvtvdcddqk +4-6 x: tpcxlx +2-4 c: cmcqcrcccclccx +6-8 k: kzvpvhlwdrhtcsl +6-9 r: rrrrrrrrrr +3-15 t: ttttttttttttttttt +7-9 f: fpffvmdjjffxf +3-4 z: zzqzg +2-3 p: krpp +9-10 v: cjvqzvlvxvvv +11-17 r: jrnrrrkrlzqrjrrrrdj +11-12 q: hzxtksqmtjbq +2-15 j: lxrlvnqkbnmknfdml +9-10 x: xsfzmglglxrtxnwwxr +2-3 t: tgtlhstcft +19-20 q: pqfdqqqvxsqqqqtrxsqp +9-10 q: lkjxdqqqhqqw +3-4 w: hwfd +1-3 g: jgjrgjgw +10-11 r: lrqrfdttrfr +15-16 k: hkkkkkskkkkfkkkj +1-4 d: ddds +18-20 b: vqwxbbwbbksbxctklbbb +1-11 w: clzrdzwhlkwbgjwwwwh +5-12 b: cjbvnbtvhlpz +17-19 s: ssxssspjsssssssssshs +2-8 q: wrjbvqlfqq +7-10 v: xgnzvsvjjztv +2-6 d: ggjgjdsdsbwl +3-4 w: wwcwwww +9-10 l: lrllllllkln +9-11 d: ddddddddldtdd +2-6 g: wrggcgw +2-6 t: sttmttvkbdfhr +2-4 h: jhmx +9-11 k: kkkkkkkkkkkkkk +6-18 s: hsnsqsjsjjctpltkms +12-13 t: wctjkstvxwggvq +1-11 l: lfrztknsgndvlnqbsq +3-4 w: wwfsww +6-7 w: pllwlwm +2-11 j: jjjjwjjljjc +14-15 p: ppppgpppmptppcpzp +13-14 l: llllllllllllnqll +12-13 w: wwwwwwwwwwwcx +6-7 c: cccccfcccq +6-13 j: rsrkqbjhmzjwpcjznz +3-4 d: jddb +6-12 r: jrrrrjrrrrrrrr +5-6 t: ttttrt +7-19 q: qqqqqcvnqqqqqqqtqsqq +6-8 w: xgwzcwvkvs +8-15 h: xnphxhtrdstnphhvhw +1-5 v: kvvvvv +4-6 z: zzzmzzzzzzzzzzzz +1-3 j: qjjj +4-5 j: hfzjj +6-7 v: vvvvvcxvvv +4-13 f: vsrfcsvvszpffm +7-8 h: zljndncshnknzbhbwqhl +7-10 g: ggggggcggggg +10-13 p: ppfppppppppklpspppzp +3-4 l: spvwl +4-5 q: crqqntbvqkzwmvqpbx +6-10 q: bqqqjqqsdk +14-15 k: bblxvspkqmrndfkkp +1-3 b: bbdb +14-19 q: jwttkvnrbfstqlsrbtq +18-19 j: jjjjjjjjjjjjjjjjjnf +4-11 d: rdkdnpdvjjtx +11-12 v: vvvvvvkvvvnr +10-12 k: kkkkkkkkkddkj +4-5 l: xllllplksn +10-12 x: pxgxxxxxxkxnx +13-16 l: sjlllfrkblccjrllq +4-6 p: ppptlppp +4-14 v: nvvvvvwvvsvpvrvvvq +8-9 v: vvvvkvvvdvvvvvv +12-16 z: zzzzzzzzlzzzzkzm +4-7 s: zsfsjsp +8-17 v: vvmlvvvvtxvdvsvvq +17-19 t: tgtgglgtrtttdxttztl +8-12 p: pppppppppppph +1-8 p: pppspfpjppppzpnpppp +3-4 f: fffnf +8-9 b: jbbbfsbmgbbb +1-9 h: hhhghqrhhhhp +4-7 r: rvrtgrr +2-4 g: ggknk +5-6 w: cwwwww +6-7 q: vqtqqkq +6-7 m: mrqbmrp +7-8 x: gmxxxmxdx +1-4 d: sxddrddcp +8-9 b: bmbbbbbbm +11-13 g: gplgggzgggdgg +3-4 l: ldfflx +9-11 k: kkknkkmnkcc +9-13 g: gggpxgggggzgg +19-20 j: lfqjdqjddctcjnjzsvjp +7-9 z: dzrgdczbz +1-5 p: ppppcp +11-14 b: bbbbbbbbbbmbbbbb +8-19 j: xjvdrjwjjtjfdcgjbqg +15-16 b: bbbbbbbbbbbbbbkbb +2-13 p: pgppppwpppxppppppd +8-11 x: mdpvkqsxvzxgtvb +14-17 w: wzfwvwwwwwjwwrbww +1-4 v: pvvvvvvvvvvvv +10-11 j: jrjnlcjnjdmzxjt +10-11 z: ggzzzqzzzzvn +3-6 q: bsjbsh +8-11 c: rlrxxcnvqccjmhnh +6-14 l: sllqrllhflnjxl +1-10 j: jjjjjjjjjdjj +11-13 q: rqqxqjbhgsqqq +7-8 p: ppnhwpkkpp +5-7 h: hhhhqhh +1-3 n: nngn +4-14 z: zzzzzzzzzmzzzlzzzz +3-4 v: trvvpvfbkpgstqtq +8-13 j: hskzqpxjjfjqmjnpq +1-4 n: jnnnkn +2-8 z: zxzzzzzzzzz +13-16 g: gggggggggzgvgxggggg +3-6 c: cksnbpjtc +7-11 g: ghggqqgcgvw +7-16 h: hhhhhhshhhhhhhjhhh +3-4 p: vhpq +2-8 c: rcccbgcmgg +6-13 d: dddqddjdzgdwqdpd +4-5 z: dxjzzzpjsqwzmqzbzq +1-2 d: dhlzdwrq +1-5 g: ggggg +7-9 w: wdwlhlpwwwww +12-16 f: ffdfhfsfxfpnrfvf +9-11 q: qqqqvqrqqqq +6-8 j: qrjjjjvn +4-6 w: qwwwds +13-14 n: nnnnnnnnnnnnnvn +5-6 c: ccccgc +13-14 s: qgsdbsklkxsxlshzs +11-16 m: mmmmmmmmmmmmmmmpm +5-6 r: rrjrrr +3-9 m: mmjnkmmmnmmmmmmn +8-17 x: xxxxxxxhxxxxxxxxwxxx +1-4 v: vlgvvlljxwq +2-12 r: nfvxwwkhzszrfwrb +10-13 j: jjjjjjjtjrjqjj +3-5 g: lrggg +6-10 m: cmmmmmmmmd +4-6 c: dcctcc +16-17 r: rnzknqrrbsrvsrgrrcr +2-3 j: djjr +6-15 q: qqnmqxqqbsqqqqkq +3-5 h: khhrcpvzz +5-6 h: qcjmhhvthfn +15-16 d: kdjtlmldhdrddddd +10-13 s: sssssssssqssssskss +5-8 c: pccrwbvjcccfvt +9-10 j: jjjjjjjjtjjj +5-9 r: wbfsrlktcxhskhnvkqxl +13-15 x: wjpxtbxxxgxxxjx +6-7 r: fzlcsrc +13-17 b: nbbbbbbbfbvbbbbbz +7-19 r: vfwrvbxrqwrnddmrdsr +4-18 q: qdqdvqmvplwfqxwmphx +15-17 g: ggggggggggggggggqgg +3-6 z: zzpzzzz +7-8 t: thlmnpttk +7-8 j: jwjjjnjjfjj +5-18 k: vcglkbwhhsbwgfkfww +2-10 s: ssmvzjxhvsztdpwgj +8-14 l: lllllllllllllml +1-8 c: lclcsccccd +11-12 x: gnxrztwptxhx +9-10 c: zsbcccccqcdcc +3-13 q: wlqnqnvsnqnqkbghzh +3-7 p: pjpppvpkjpxspnprdhnt +8-13 w: wplhwwwwwwmbwq +5-6 h: hhhhhmh +2-6 d: wdqndqhwjvzdlddvjdw +2-3 p: pppr +5-8 v: qwvvvkvv +13-16 w: wqjtwnlrmwdclfkws +11-17 f: fkhnfnffjqfrffjftffl +5-8 j: jjjjrjnjgth +4-10 v: vvvqvvvqvqvv +2-16 g: cvvdfbckdbsgwhsghrnr +4-6 f: phtfxh +2-3 c: bchmdnccc +9-19 l: cdtftrqcljljpjfdrjl +1-3 r: jrrrrrr +15-17 j: vdgsnpvdjghzgqrtj +1-2 s: kssss +7-10 t: rpttttmtmwpttttv +6-9 t: tttttjtxb +5-6 q: kqjvqj +5-11 j: jjjmwwmqfhjb +9-13 h: hhvsnhdxfzcbhg +2-5 g: cgrbgmnrkqhgpzdmvjlz +11-12 n: nnnnnnnnnnsnnxnn +4-6 q: qqqkqqqq +11-15 q: qrgqqqqfqqhqqqqqqqq +15-17 f: sfffftfffffvfffblf +1-2 k: zktdk +5-14 w: wwwwthwwwwwwww +3-4 g: gggghg +9-11 l: ldlllllkftlbmlll +9-11 b: bbbbbbbjdbsb +4-5 h: hlhhh +3-16 r: rrdrrrrrrrhrrrrssrb +7-19 l: ccdzxllmgfwgwkfsrts +8-11 p: pqpppppppjzpppp +4-9 w: mgwwgwjfk +9-17 m: rmtmtmmjmvtmqcmvmmm +1-5 g: ggggxggwggngg +5-7 k: kkxknhkkkk +10-11 q: qqqqqqqqqqzq +3-11 f: tffgcrwjmmfgfzfxhfcw +1-13 c: cwcrcxshprftxpkqccvn +4-5 f: mffsvf +5-6 z: hzbczzqz +9-10 x: xxsdxxxxvvdxcsxxx +4-11 t: fdjqphpktwtb +4-10 b: tbbbbbvbbjb +5-7 l: llptlml +1-2 p: cqwkvxfzb +6-9 h: hjhhhhhhkhhh +14-16 n: wzfndkzxzshxsnvb +6-16 p: pppppppppvpppppppp +10-12 m: mmmmmmmmzmmmmmmmm +6-8 g: gggggggg +8-10 f: dffdfsnfcdwmfpffgs +1-8 l: lllllllgbl +7-9 x: xxxdxxpxx +5-8 s: sshsqsssss +7-13 n: jhbsdvsltxnmnjgwxlph +7-9 x: xhxxsflxpnfcc +9-10 k: kwkkcmqktx +3-7 b: bbbbbbbb +2-3 d: ddnd +14-15 c: ccccccbccccswlbcccdh +2-5 n: znxln +1-7 w: rlhwpsf +3-6 t: jhzmqtxf +4-11 t: bttptntxztt +2-3 t: qmgxt +1-15 g: ggggggggggggggglghg +10-15 j: qvlhvgbmzbgkzrjdxt +9-16 r: rrrnnbpprfrlqmsdr +2-5 q: qqqqdqq +3-4 d: dddwd +6-17 q: kfzvgqkmqcfbbnlxq +4-5 s: sssslssssshsssss +4-5 c: kccgcc +3-4 m: zmqm +3-4 k: tmkn +4-16 v: vvvlvvvvvvvvvvvvvv +5-10 k: mkkkkkkwklkkkkkk +18-20 k: kkkkkkkkkkkkkkkkkkkm +3-9 z: zzzzzzzhzzkzs +5-6 x: dxxznxxxp +1-2 n: njnnnkxn +1-4 q: mqqqqq +8-9 k: knkkkkwkntkkkkkckkk +13-15 q: qqqqfsfqrkbjcnlw +12-17 d: dddddddddddddddddd +1-2 p: pszxjn +3-7 f: ffwrfjffpfcsfhffqc +1-9 x: xxqxxdvlk +8-11 h: dvsjhhthcvchhlls +10-11 v: vvvvvkvvvmvv +6-7 n: nnnnntqn +1-3 j: hjjj +4-6 d: dhdrddhn +7-8 c: tccsmjmf +3-7 g: gglggggggrggggggggg +11-18 p: jptgncxzwspzpxjpzp +15-16 j: jjjjjjjzjjjjjjrk +4-8 d: dddddddc +12-13 v: sppffmqsrqvvvtqnwc +3-4 d: dcdg +4-7 t: thfsjtzbkx +2-9 f: fmffffffffl +3-4 l: cgrlx +10-18 v: dxttvtrpvrhvbdnnvvvv +10-12 m: mmmpmmmmmdmbmmmmm +2-4 m: mmmm +5-8 j: jjrjjgjcsjjnj +6-8 k: kkkzkkkkk +4-16 n: nnnwnnnnnnnnnnncn +8-9 m: fmzmjdfmm +7-8 n: jnhsntvr +13-16 z: bzdzzzzjmzzzzqbn +2-11 j: xjlbpjmtvrm +5-7 l: plzllksrddbgnl +2-7 v: jhvqdvvpvvtkvkjzjv +1-6 b: bbbbbpbbbb +2-6 p: lpqprw +1-8 t: lttttttgt +6-9 p: pppppgppppp +4-5 w: wfwwgw +7-9 g: gqfgqgggg +12-15 p: ppppppppppfjpprp +13-15 x: xxxxxxxxxxxxxxx +3-5 v: vvvvlvvvv +3-9 s: qqwgplpmsnsvjkwb +1-2 j: jxjjjjd +8-13 b: bbgbbbbjbbbbbbbb +8-15 d: qsrqddvpntdwdcd +5-8 c: cwccccccfccqc +9-15 c: dslmxlccctvqzjngrzs +13-14 z: zzzzdzzxzzvzzdq +4-5 k: kkkkl +16-17 l: plbljsndxzdflcslpxw +2-13 s: ssssssssssssxs +2-14 m: vmfvmcmmtmmqmshnkn +1-5 m: mmmmkmm +1-9 s: sqpsnfssjsssssss +8-9 l: llllglllrl +7-12 x: chbxgzxjxbpwkfxvp +17-19 l: llkcqbhlflqlllmxtlr +19-20 c: vbccpwnjcctzcccqrzbq +12-20 g: ggdgfggrdgjbgnlggffg +3-4 q: jqqsq +4-6 m: ldnmmsm +13-15 n: bskjrngjbmnhlbtbbt +16-17 n: nnnnnnnnnnnnnnnnn +2-10 c: bcxxqppbfccq +2-4 t: xtdvht +13-14 c: ccczvcvpccckcc +6-11 l: gbblllnlldlc +4-8 z: zzzzzmzvzz +5-8 m: mmghmcwm +6-8 f: dwzfdfftm +2-6 w: xwjhnjnwk +5-8 l: lhsqllvl +1-8 q: qpdqmfcgdhnmtjj +10-14 x: xsxxrpxxnxwhch +2-5 l: lqlllllfc +5-14 c: cjtchccxccccjccmdc +6-10 x: zxcfxtxlxk +7-13 k: qwrnzqbbqkgfk +9-13 f: frfrfbffrfffn +11-15 z: bfjkzhkmngtwdvqx +18-19 v: ksssrwzjnwjnjxzdqwk +10-13 s: ssssssssstspsssss +1-2 w: wwwwt +2-5 m: tmpmtpxwwcmmkmpxzwc +6-7 s: tslshxs +8-12 x: xxxxxxxgxlxlxx +2-5 c: jcccgcdcccccccccccx +11-13 n: vsxhnkckksnfk +4-16 n: fhknznjfvxbpcrtk +9-13 j: jjjjjjjjjjjjf +10-16 p: pppppfppptpppppppp +4-15 m: mmmrmmmmmmmmmwmmm +2-3 m: gmvmmm +5-9 l: dlclrltlgw +2-5 g: fgtlg +6-9 q: qqqqqrqqqq +5-12 w: bdlmwzlmfdmhg +5-14 l: lmlmnrzlglflll +17-20 k: wbbbcqlwlvphdsqckwbm +7-8 l: jtjlqxql +1-14 l: lllllxlllplllflllll +6-10 d: dddddcdddk +9-11 m: mmmmmmmmmmhmtmmmm +7-9 z: zzczzzzzzjzfz +2-3 j: tgjkxpl +13-15 f: ffffffffffffffff +4-5 r: rrrrrr +6-11 l: lllllllllllll +10-15 f: ffffffffffffffff +8-9 l: blszlljll +5-7 h: hrhdnhmhhhnx +12-13 f: hfffbkffnfffflffffff +1-6 j: jjljjjjjjdjfjhq +11-12 l: llllllllllll +19-20 h: hwqhspckdppznzwnmxhh +8-9 m: pkccwcgjpcxn diff --git a/2020/2/solution.py b/2020/2/solution.py new file mode 100644 index 0000000..864444c --- /dev/null +++ b/2020/2/solution.py @@ -0,0 +1,50 @@ +#!/usr/bin/python + +fd = open('input', 'r') +lines = fd.readlines() + +def checka(minimum, maximum, letter, string): + cnt = 0 + for i in string: + if i == letter: cnt += 1 + if cnt >= minimum and cnt <= maximum: + return True + return False + +def checkb(minimum, maximum, letter, string): + cnt = 0 + if string[minimum - 1] == letter: cnt += 1 + if string[maximum - 1] == letter: cnt += 1 + if cnt == 1: return True + return False + +def parse(line): + colon = line.split(':') + space = colon[0].split(' ') + dash = space[0].split('-') + + minimum = int(dash[0]) + maximum = int(dash[1]) + letter = space[1] + string = colon[1].lstrip().rstrip() + + return (minimum, maximum, letter, string) + +def solutiona(): + cnt = 0 + for i in lines: + parsed = parse(i) + if checka(parsed[0], parsed[1], parsed[2], parsed[3]): cnt += 1 + + print(str(cnt)) + +def solutionb(): + cnt = 0 + for i in lines: + parsed = parse(i) + if checkb(parsed[0], parsed[1], parsed[2], parsed[3]): cnt += 1 + + print(str(cnt)) + +solutiona() +solutionb()