From ccefb7e6f0113c663f405fdc87c22f8e9e1b924e Mon Sep 17 00:00:00 2001 From: Stefan Harmuth Date: Fri, 1 Dec 2023 06:31:05 +0100 Subject: [PATCH] Day 1 --- day01.py | 47 ++ inputs/input1 | 1000 +++++++++++++++++++++++++++++++++++++++++++ inputs/input1_test1 | 4 + inputs/input1_test2 | 7 + start_day.py | 15 +- 5 files changed, 1066 insertions(+), 7 deletions(-) create mode 100644 day01.py create mode 100644 inputs/input1 create mode 100644 inputs/input1_test1 create mode 100644 inputs/input1_test2 diff --git a/day01.py b/day01.py new file mode 100644 index 0000000..608e434 --- /dev/null +++ b/day01.py @@ -0,0 +1,47 @@ +from tools.aoc import AOCDay +from typing import Any + +NUMBERS = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"] + + +class Day(AOCDay): + inputs = [ + [ + (142, "input1_test1"), + (53386, "input1"), + ], + [ + (281, "input1_test2"), + (53312, "input1"), + ], + ] + + def getCalibrationSum(self, translate: bool = False) -> int: + calibration_sum = 0 + for line in self.getInput(): + dig = "" + while line: + if translate: + for i, n in enumerate(NUMBERS): + if line.startswith(n): + dig += str(i) + + if ord("0") <= ord(line[0]) <= ord("9"): + dig += line[0] + + line = line[1:] + + calibration_sum += int(dig[0]) * 10 + int(dig[-1]) + + return calibration_sum + + def part1(self) -> Any: + return self.getCalibrationSum() + + def part2(self) -> Any: + return self.getCalibrationSum(True) + + +if __name__ == "__main__": + day = Day(2023, 1) + day.run(verbose=True) diff --git a/inputs/input1 b/inputs/input1 new file mode 100644 index 0000000..595a8f7 --- /dev/null +++ b/inputs/input1 @@ -0,0 +1,1000 @@ +ckmb52fldxkseven3fkjgcbzmnr7 +gckhqpb6twoqnjxqplthree2fourkspnsnzxlz1 +2onetwocrgbqm7 +frkh2nineqmqxrvdsevenfive +four9two +six7sixqrdfive3twonehsk +xkvsone2 +one65 +rggxsff1seven +djbcgrrtqdshpqqzj43rgcr +br89fivetwoqggnxjfourtl3 +zoneight47five5sixjxd74 +4five1 +5seveneighteightzzbnzsvdjnkvndsxlttfour +htdcmsl12ninethreepkqtdlvtl +twocghtvtdlfchfqnjhrfour19 +rptwofiveonecvlldmppxtrvj3 +6gqsvsqpzxj +5twomgkzsvg +4ninedflntfsn1 +4threethree +43two6eight9 +4gqnkntjthree9one45 +9lmjgqnkxqvfrzhbcfrlltjxjlkjfrlmb3 +ninethreejkcbplfg4kseventwo +mbkfgktwolbvsptgsixseven1oneightzvm +m5fvqfkkk +tptqnsxmsevencrkdmxms55zrfmpmzv7lzqlnmbkzt +bqccqhbdgeight7 +four7nine1eight +8fivethndnpztzninepdkfive8 +1sixxvqdfourlnpdrfbnnx41vhqgth +sgpkgdb9 +fivetwoq7cdprnjdjhs3three9 +1mfvptbhqshblvvvdl +ztftqgbzld8jkcmsrdfzonemzdmbzxpfour +dfkctqcjbmfourhszmlvtkeightthree2 +4onersrfjcskckcxcj4sevenzzzpsixeight +1fourr5gxpone +seven74ninersgvvmtgsix +jvtwonefivetwosbpglbx2two +fourfivecxgssssixtwofour4 +3zcgcjdcpbgqdfnhxtneight +fourfour29cpbccthree44 +6six9foureight5xmfdf +four77 +tqtnjshdmtwo3four8one27 +one52 +nine32five3six +qcjbjrpqdtpvveightpmzs17fourjvghvl +5293gmtdttfpmrlhvlt9 +2zonenfglkskxhn3gxbrtxtcpfive +three5cfourfvmqlnhp4two +three4knrdzxpr +fmpvqkxgeightthreebdrng9tdcffvsfctwo +jpktgx8fivegqeight5three +7sevennine +3two3 +nfthhzcq2 +plmbtrzbnbmt1nine +149hvjbktkmbj8mtnrblcvfive7seven +bfthree1 +six6kqprz86two6 +jthree6 +nine2hzrlcqrt7eight +nnzhkhpdb8rbnqmxrfive +rkszqnp1 +t1 +5sixlmxkgmxrgveight3 +sevenlptpdhtjpgxconedvtrrnngn8 +nlpvxbscttbbpgndnc7jvrtcjxbsxnqvfcxdcfrgtrdkjflzlrqcnmfourkznnmrv +7kllgxpb6 +two4eightfgrsix1five7six +one2three6hmktjgmbxhbjl +bqjtxhntjreightsevendgcfpmkld14four +22pgcslxtdhkhz8ninethreethreejcklznxq +146gqthree85twoseven +vlvxlmkfpcxsstsevencdbbdsix6 +5sixseven48 +llljbtxtrrpssrfthree9dpvrndphhn +qkhvq5 +svrfthree8bdhjshcftdnine4 +nfqnfkpchl5pcstz +pbx5mfkfour8 +cptwonethreeptwo9gzmlkv9 +gdpkprlzr6466fxlvfour +dlnpklqtfivesixfptrdh9four +onedpfskdd38qfvbjdnpglone +4sevenseven5qf +onepgmmhlgmtvone3c +247tsnmkd +threeznnnbtfive5tmdfxtwothree3ndjcszrb +oneeight6rhfiveone +threethreethreestvgljm4seven +bfbrk3vqsmone39hzzxdgp6eight +98rndphxhcbl +57fourlntgdngzpdsjkbbxnv7 +twons4 +three4threesixtwo2hf +lgqtcllzsevenhrrhqsmsnncmlz7 +8fnngjrxtljncbvlt7ninehfzrthree +12mltqtqqrvjmjsbthnzpdjtwo1 +lf1onevdmn2 +3twozlqnddmrsixslphpvb +five4nrtcjmvj +cksgmkszrbsrgfkq7tqjxsshxxh7vngsnjt +mfiveone7 +kkvtwone5sevenfcfnngpmjktrpxk7djgzmdthreehpp +fxbgtcjp4pxpjv5rbfllhfcpfive8 +2gxrkjdtvxmnvs76 +npvvleightlpd354vrfh1 +zbnzdlzpqzsixnine4sevenqtddzzm6 +6cxrhdvzbmthree98 +77eightnine32four +56tshj77one +161xk26mspxkchfourfive +onenineljnsmvmfb7 +6hxvmqtwo +khzninetwo3pbtsqxlqj3 +1nine3 +6xrzjskblfq +kbtsbckkonethreetwofour7lgcbxmjkjpnine +fivethreecrjznine7 +8qxjdsspgn +vdoneightsix7h9 +5bsjl +gfllsrrrmzbfqdrlnvtdzr3 +7hs2 +1onelseventwo +fivetwo3 +2gnxv9sevenseven +gmmhshzvsixzssixseven6fivehbdvsjdz +75onegckzsnpnine1xfslhfour6 +sixgjhnfvsjnrsixeightnine49 +nineseven929rlsdkcpbjrjdlptjbzp2 +9hbpplffngltfourpgk +twoldknnqxkkvvdjldqthree373 +cceight9two +zmeightwohkgs6 +6sevenfdmqkss4fivethreesevenfourqfnsvvsj +4two9njeightnine +two3gzseveneightfour88eight +2clqj +1ndvbhbtql +five4sixseven5ghlgbmdgfnqpfdm +34dt +9sevenrl5 +dpbpqppsixngvmkflllcrtn8 +sixgvsctkrp53sbsx +nine9qdrqfourjc +zvppfjpqch24 +sg4txzzfoursevenninethreesqcdznksix +one3six2 +5bgdjzxbrlsl3sixlbxtjdpgfkjmq2 +drsldhgjtrvmmz3jgrp6 +qkeightwosix95nine445cfnine +fivetwo82scjct7onegblrqrggv9 +threepfgljkghzc9 +8qvzljppstpnpeight9 +8nine98tkxcfqtg +sevensix4two +2eightthree +cvhhmcgknj6threefive87 +seveneight7dsvqnjsjsqlkeightwovzt +71oneseven9fiveeightnh +pdjtzxbgjxb3vzfdnjbthree +xqpfourmpddnfcc4one5 +jnrms1fkssgpvvlrmf +jbnkeightone6zldns85sixnine +1fourbqfgxscdxmkvdpsrm +eightsixone8mjbrqkplkqntjdlfourpjdcs +lxdsp6prmfglvdfz9eight7sevensixone +qdksixvmsevent7xlvmtzdkhb +8spqjvhplpzldpthree2 +zqfvpq7pz22 +nnfbpfour1 +one9ninetwovrclctwo +344six98seven +kqkj9qqvfxn +seven1fivethree +shlnhgq2c3oneseveneightwodv +eightthreepkcxlk7threeonethreetwo +pgmbhrzzqmvkjl57fourqk8gxjmbfqcjs9 +eight5oneights +ninenineeightvkrsrkgh8 +svnfdxxftkgzpjqxzkmbbcfourvfsg3two6twonezqn +mnvqcmkqvjlqvtltgdpktr3dkgkbt +sixmg29pplfzrsqhlvfeight +glzsbmzqjj43 +1zqrnpqrcbzdsnfour67zpsxpkbbkmfgrzm +kxbbcjjksix7sixeightnine +zbnhsdxgt5sixsixeightlsdqrgseven +ninezxrllznbcvmldxfbvjx5fivedtpdhsjgk8 +reightwo7 +fiveninenftgfourjbdkxtxcb38two +sixlpck4sixzcppvhzkchmnpvqjjgffourj +34pmfdthreetwo +7zbnnkqone5three +qxkmhcllcqkk5qrqseven47 +one62brghc8s +twotwo1xvgcxbthree +three83dfqgjlc8eight +twofive8l1twocqmcccgdm +two6cnine +h2sfnczjmslpmlvdlzrs +9nbblsvxbhdxqfour8 +kfzcsg6sixonevrbchsjtfivenbz +mgtlqcdtwo7qxmszcqpjdplccxzccsixone5nine +mtfpphckdn1eightpdtkssqlxdhtlmcjxb +jbphmjjjrg2159eight +zqskrzb1pgfouronevxscgtlccl +lxvpgrck8fxhxm +fournrnlfive1xt +3nsjnb +eight1three513nine +39eightsevenfourbgd1mbljzone +6two88five2pjpp +fourjlftf7six1xsktfhcdff +3kcntzlmnnhhmtmlftggqljkrvninetwo +threesixonexlvxrblq24 +xpgzzrcckdlnrczxndplbpcb452 +ninembdnhhnhhzmvmtdjtkzmb9ncq9one +4fivebrqrxftwo +84tqzbcvgdrgpzpxjrone83zgzpsix +99five +mgsevenqgkckfhbfnine3 +2seventhree +8fivethreefive2fivethreefive +scrtqsevenjmxlvjrrbdtqgrdghfivethree7seven +sevensix946onesevenfour +dzn14 +nineqbxvponekvfffs96zjfhpthree +53twoqknxnxqbcone +fhonerone7fourpmxskkmmx7 +eightlq4fourfourdbsdrvhhs17 +nnpgtgcbvrggctbtkzht5xmkhtnnn7brpxjcxdrone +threecxnqkmrrpmzdljstdbfmk5seven +sdptbzqhn7sixnine8 +five7jdzdzfqfivesevengtznjmqrblkkzkgvt +fclvllfthx47sixbhq16 +9mbmsxbn +three82fiveseven4 +p1kzmzpbhmcthree +eightj3681nmgt8 +2two7 +jdbjlvxhhzzsnmcqldrldeight6nine4 +2threefive +foursevenrmfhjvzdv8bpbrvblll1onetwofive +65cfgkcrhbjk +6onecjxzxb72gmrblthx +4jlrvckc9 +doneightghmjzzrfourfdzxflm51nineseven7xkxt +r5eightone +nkgknm1 +rxbsnnzbrs4two4 +1pqvmfh +r2vpdpkzqcs85 +gtfzjnnhsknvjnmnine98 +zrdgv4hnbpb +7one165vddbrzpmfhskvzxdh3 +44szfpgjmvgt4eight +dbgttrbj6five85nsqmzscksvdxks +ffkrhbvq2 +6fourbpjrdvlk +38eightsix +two4fivedzpgfbtm +3jbk46 +slpkmrstrrvthreepl9bhctdfnfzc +nine4two5kkfmcjgxbqkttg +1zppnmcr5sjfsbbxh48one +8one8fourseven5 +6three7nineeight6 +96three +91twonelt +5sevenone2sixthreeknhzm +2fvhgcbvg7sevenzqdtftct7tvvtkpxbrq8 +9nvr +eightfivetwodjg9 +7four2six +5fkzgffzpgp3 +75sevenfive +mxtwonexsdrpkqzgm1threejqftvl +onekxffhsqb4dkb9fivefvtcjsd +eightone1eighteight4 +glfeight7eight4 +eightcdfjjfiveeight4fivetwo +npxnp32kfsfjpggdtpkm5 +seven7threevcb +xtcvsmdx2four2twonefl +mzkgnzstwo844dcseight +zgoneight65z1seven3 +1two5lc +threevsrg5vdmfvpss27qzrmvmbz +7qbcnjg1nine1seven3seven +5fourxdxrhmxsj +v78 +41nine +56fmktkxvltp4bztxkqfrdthreefive4 +fourdnq1 +ctlk31srscmmdn66sevendmjjqvgj +b7nine8ninejqqhhdnnpx5 +ninedlxdshrzfmrnnq17 +jbneightwofiversjctwogvvtprslpgfour9xcone +dpt5hbgbnmdlthree5sixvsvqtnmndpvv +sevenrztpgr8nine2 +four9three1keightbmljrjgxkrbjdhbckbst +sfmztfjh49one +seven3three7eightwovs +48onetwosix4four4ntvrzvdztr +mphtwone5sevenfour7 +4lgqnbdlone +hpnmtjbcdhfhsnxqhjhhfgteighteight8one5 +cgtdtt22 +plnbntcb8seven1gkgzngxq +7bonethreefour +ffoureight88 +z2four3dfggfntxjbjhdr9three +5sixgpcm9two +sixpnlcgbcpdsixtwofour4foursix3 +dstgjlh812 +3xfhdfrgqjfourkfjone7four8 +nine4three6sevenfourthreeeight +njvdqthkv5seven6fourtbklhrqqsixeight6 +58rcfcjdkxcj3eightlndf +jhnt7zblnkdvhslrhpbkzdh +7threetrlkmmlzsmtwo4dmjf94nine +pssrhmtcv7twotwodjxvlbmnfive58 +eightseven271onefxxrfglh +9bmtwo +three522 +eightseventworckvnine2 +6fourtzmlrkrztvtxfcdf5 +3six4rdchffcg7 +6threedqssixnine +fivetwo6 +sixnpkr5xbxmjcxjznpnrf8brxtmgl +gtvg3zzbeightkphjs69pjprvhlgl +7kclrcjbtkcr63two5 +threehpn38fivedcmfkgqqeightwovg +hbjcsfshsjqqfive9sevenfourthree3fzjpfjzd +five7qzhnthree1 +nxhg17j8ninejnqlnine +ddlnxmcg2 +rxeightwopqtpqncvd481154fiveb +sevenvbkzgzmnine4qhpptngvhh +bkmz6nineeight69 +tqvzkqfourrj4one +sh15nzxzhqdxd96dqht +6rhztqrfninefsqszx +38cngonefourrhlljvpgz5vzhmbdjj5 +8fiveddchtllpt +13rgzljhsdjfive2six +sevenbdnbheightfive7qbzjvlsr3 +fivejmfvtnhz1eightkcdpjsghgtwonine9 +five3bllpvnqgtzdhvprgb +t1vcttwo +9953three92 +9hrgxdpf +sevennine579seven +threekp1onefrfjbrmmpmsdsvfour +4threefive61rrhrtdjs5 +xbmvcfqp4onesevenmkgvsnprtl65 +379 +4966dlprfxmhmqdfour6 +9lllhz8nmqxkzsevenxmbqvgqnj8 +btkxnzonesevenjmkdcc1ff32eight +7three65one745 +seven66ninelkbmvndm3 +4three3sixeight3 +177dcxqqbqpkxgctwo +48cjpd47sevenzgtkrdlfq +5ppzvklbtnine212qlmt +89tpmnr +dh1gfgb6threeqcm3 +five83 +fzlkpx6seven2twotjlqpgldlfour49 +fiveninefivenxpzkrslxm44 +pxxbnsfoursixeight5mjkeight +ninefivesevenz6 +djddxtdeight2vqsvdgttxonefourfhdfxszvfd8pjcvzbgp +253seven71nine +eight6cb71 +gfzptdj1nine5twosvtmpphj9mkhd +hfjcpvzeight7ggqrmkmzrhbthreeeight +chjonetwo2lqxfrbvq +fkfmntldvleight4threethreeeightfour +6j81threeseventwo3seven +seightwosvsnp4 +8bqjk75254 +6seventsmnfjtn4rthrp +9kksdvfzzpsszffouronenrqrcnine +5dkpp8fournine4one +4mpbzrfvj8two9sevenonenine +jzkdrrjsnpxzxbjhb5 +three87oneonexppvhz3seven +two39kvrmz +vdfive8dntsz +mthreehzdghb3eightsevenfttmjtx +2dlnjsxlg +7threecrrdqksqsevensixnine +mdxhrrrfiveone6 +8nine52 +725two +jzpxt2vcninenjgfzddk +three29 +zjrffvdgnpeight1sevenglpfkdb +two3qnhqvxeight +slqdvfmeightmlhjdcvbrmsjvrk6 +two13kfxd28rzqhcdkjtbbstnhbfive +qhdqqnjbdk8eighttwoqpthree +one1brxnptch263eight18 +threexntmdtwokdmhf3pdkgpthree +2three9jrcrmjvbrm +1mmlsfsdkzkvjtwo3b +sfkkkncf3three4seventwoqzhmcdfbhxfl +vfnqlnrzcrzm8fourvpzxqdqsfb +rjkhxqdmkrfive1 +2four2nine9znp6seven +7doneone +9threetworqlk +eighttpclmtv4twofour5mtxxnpthreeoneightfp +onecfjgrbsjncmpqhqvhxtfpc21nineppone +eightlvjxmxhfive9fb +ninenrjlmcthree3four +eightlxrnvljrhksxzfxzbrt644 +blmjnfgsrcms31 +zsix16xtjvrtn +lkjfpxjh1sg57xbxlsxcrsix1 +mkmdcsbgvd19ninecsevenone9 +three1p +4prbjfour1ninesix +pkf7sixsb +fiveclczl8sltncdxsix +4ninefourseven5three +3lpchjfgbhzjbqggsfoursixseven +twonmcfztwoqp1one5 +87sevendbqdsevenrlzkrhoneeightone +4three4 +2tthbbcpcr36tqvfjkfs +rtzqgsixnine4bzqhjrq8five +eight3fivel4kd +1fourfourdpvvghvlzxtwothree +2gzgzmrpbztm1cgzvvrtqt +qdrfrkncnt1eight +smpz4mjrbthree1ninefour +6seventhree7 +5278nlnfjrqlone8 +nine6eight +twoqrtdsreight2dxhknhpdzz2pdbsnlpljlxkv9eightwop +vl6eight9eightsix1lmth +qxsevenkckxvmjkb1 +hvhlm2twotwoone +grtlftfthtthree331dzzzoneseven +ftpkgvrsc85cplddgnn +lhcbzhgfjlgmcsn66 +twofourqjrltlvcmmzv8nine3ps +knvz5four +threefivefoureight7four +one9fournine5 +cr8twofive7two4tlbpgbngsp +seven6gzn8trjmzrvjthtpzld5dcqnjmtl4 +1five1fourfour8hqjzshnszhzgcchs2 +tld78blgffjksevenninekmjnrzlvxr +15six +fqlmqhjslgnllgs6three +jvhmkfjzd5 +kfkxjmbrgjzmjtwo2qnh45pxrkrcpmjd +dh119mvxlfdft6sevenqdxb +five5jl +jhqp2qzkfvjdfts +teightwo6 +kscczzhftqxmbrjtm46five5hncmntrgqz +65341 +cxjpgfourfour98spklghbv73 +5sevengnxldmlvnrzsthree +bsn6three +fivesixz36 +snpmdmx65five4 +vrjbjsixfour37onesscclpgxr +four58 +nlrflkxjzbpckmprkp435 +pp78 +rhz3dblsmbl8mvmthree3svhbzb +qtztdn4 +rqrdr5ninefivexj +fiveone4ninesplghqrbcnmmzll4mvklfmxv +tj3ninekvczg3cczmhkdf +fivelnrjmn3jvlmhplj4fourkvdceight +five6jrbkxrvmtqfvbq7pmjmdkmkv +6gcllrgktc +21zffhnksmjj1rcdpkcrznine +threegpnpftrstmfive4ninefive +1cnsixpnvrxq +33qghllh +gfour1rmznkmplqfsevennksglsfdqtwotwonet +kjqcslq3nineoneightkq +three8oneninepjpqnzccthree +3jpfhtrfrffournmrxrpdjm +2svsmkptdcmpkhbpmnineczjsjvlfpkckxscfour +dqxpjsnineonenvhptwocprtsbvcl6 +ninethreesixninesixxjjjkvtbgd5hrstthree +fivefznprpxccnk8four3twobllsjnfjnx +ghh2skv6 +eightninethree4jbcgrqeightfive +4ltjfxjbthreesixbrtzlbfdx7eight +one9mvbrcc +three5khjdjlpl4hrzqblshkxdgseven8 +czvxncr2 +eightthreedhkkpr9hqqdtwo1 +fouronetnhxgzstdx31six +fzcnineghrfbcbhhv263 +eightfive525onexgrzfive +zclvsg9three6eightkeighttwo +two35bhmnlt +9s +xbshssrspj643four4vrjdnlf +nineseven4ztnchhpx92 +gpfive25dvx +1five5 +jtcstj1kqrsbhsdsk8 +eight1sixsixbnsfouronecsv +tgplkg2hgeight +seveneightxsgcsfxd9dpkvltrsnlkccrskrbppmkxmpt +pddbvnrqzznqmmonesixjgpgm9rmlxvqqmdbcqhng +xqdbsktwothxzfsmqptrjbthreesixhqgrffqcnine2 +vxvtfjsevenfivethreethreensflthreenine6 +8one9sxrczdfg2 +mdtdgjthreethreefjzqs16 +dnvpjteight6tcn +eightnine3cdzk +three6tzmqbzgmdeight9fiveztwo2 +1pg6three6sevenmghhdx3 +41threenine1 +ncbrrm7six2nine +eightxrxdsnsvzddhrqvkfmseven3ntpqhsbttqmlp +one3fourmmrhpjmnjnqxkf4ftkxsvsix +54zdqrrmzd +rftdstx6hdrhmqjs9b35 +fiveseven8five5 +gzfkkqznk4 +six32ckkbh +jpk171fivesevenhbjlddveightvcqh +71foursix7 +2nine4onelkvplzhj7onen +4nrvsh3twoprvpgltsix1pzbdhvfour +skvnpjfmkhmf7547tszjzmq +two3ctthreesix3sjflprlrcg8bnhxs +six41nmgpztwo +dkkhmgmjtwo4seven +8jqcmhrbmcninehbpxdjpvbk882ktjxp +hlbhcfivetwo77three +19ccmrmh1lgmngl8 +5eightnhfsjzjseventhreefiveeighteight +3dkvxfive +39zn +cqsklnrdhtwoeight814rdncfthrjbc7 +13pfspbxkfrr +five7sevenfourfour42tppvrfqrvz +nboneightfour9eight7threefournmvcrgmkx7hs +sixoneppbone5ctdhjzzrnine +5one1nineeight1two99 +7rjvqdvgxxmb +sixbkdpftd6 +699 +rflvscthxb9one9jtfqd +sixtwo2hsclsg +8nzgpt7eightfour6zhjxqjmrq53 +pddnfour1one749five +gbbprvrq23seven77zssgktwo +ppc2flmdjrp7twoonerjhtlv +vlltgb8seveneight5clqsthree6 +onetwobtgdkkxv1five6lcfvkhm9three +two8threesixsix +5threeeight +onespeight9twonexpr +pzfourseven8five9five +9mbdbphhrfeight +fournt14 +jlcb2 +three3eightnfj2 +6four2fgsndlslkr +8sevensxcjl6fivefivesssevenqghn +3xgzj66svlvqgcvzzlb5vvjvmvb +hfhmngkv64 +263six +oneone15qtgtksjdgz27hjl9 +1six8mrrkx6 +vdhslzfgsevenfivemseven4fourq +vdjlnrvqjb5thsevenfiveonexskqrfourhtcl +1ninefoursix6seven +twobvpnjmspxmgxkv4twotjjkbxfgs4 +fivefour8kfjrpdddhr +dvbljqpznfjjp6sevengvbdxm1bnzhqmcdgpzrd1 +34cmclpfrgrjpxpjpdv +9xcdkhtsdmtvlrtlcbsixtrjqxg +rdhqfcseventhree9tqggvslm +gddfoursevenrqvqdkqbr6ninecfd +19cjpltfxspkpxkctdhjkncnbtwoone +mseven7six4five19hjd +jcqlxpmmj7rsrrngnq2seven +fssvonepgqmrgbv1 +fourfivefoursixthreegjgxhbzrgx1 +fzdfbxsths5szkgkgzdmnvtnine9nqb +rszfmx6eightnine6eightj +three199twol7six3 +threedmxbsevenjmdvrzlfive26 +ninehkbdkc594one +6fsix +fiveseven51fjlx6 +bj3fivesix1 +9vxcstvpf +threeseven6 +ninefive4twoonetwo +8seven6 +twopxsts95 +pzhxsxnnkthree6 +6ninem591 +7drfqdsjsnfdbqp +p2plgbninethreesixthree +5seventnhvjfrlkggfjbmlzxhnnnsh +seven691rjmnfzddfive +466mmgnh +dsctthree7 +eightqlfourzndmzltp34xjbdmpjs1 +stmprbctwo1ninesxbzqkkdqgdqhone +sevensixeight91sixjscqxlzj4 +vrctfpbp2bdknhtwothree68ckzlgkghponeightg +one82lzh1m9 +5dgkljnlvnthbdfeight7x9kloneightrp +9pdsgfourzcfour51one +3twonltnmdqttqmj6fivefivesix +1four8szcp +dqbrkz8xp +3twoftqxxgdg +sflsixzjq1 +6nine4plhvcthree +znzdrj4526fjtszspfour9pk +785bttrfnrtzvninehqzthfr +6slx7six8qhppjmbcrj +dc1fdzzsvnb +1xfourtwo +1mvt283 +fivecflqkthreek2 +7gtdlvbcxvrxvx1264eight +b1pbpcsix +fivefourzqrmbpgnqzgpzhfour9 +seventhree5cnvjmthree +ksblnqbkgnfone8 +8fourvkhkhlsjq +twoqjvb9zjvpfz2onesixk +tdjmrcvsevensix1seveneight +5mqxkkcttfivezdbcdmlfivebchqlcktpseven +7bzsnljccxqbtq3dsfsbrlpgqjzxeight +one4mjgfhzsjdc3crgthhjrznd +sixthreektx8xjbdjlq +bgvldztfivetwo3tldvpzkmonepdvppd8 +xhzm91 +oneskfoureight23 +ppsj64 +fgrf45four5 +four2two +798jcgzf +93mxc +hn5q9rm2vtksix9 +cvdldzschflc9eight +mqdtndzvv9eightkzxlgvcggrkltzlphcfq +beightwoone6rqjcqq7sixfourrkghseven +two9nine9foursevenfourone +793sixzngtcbrbtjmbjbqxzpqjkn +1five4 +x4 +qmlvsptmqhfvbfiveonemnmzshczjgsvgsgpps2seven +28eightmt9 +1four8hbpnktmn +6nine5threeplcsdrn96four3 +two3vdvh6 +three7fiverkjmllclbprmqgb4 +strvnllfmqm2threesixbbrjxbjvvxvjhr91 +4dbqqbdcddldhgxjrnfivehz9 +v81nnvzv +3ssptnqhmrzbseveneightwoxdx +ninetthree72 +556five2three +99175onepzqpj +8tmbfpbsninenineglvbh7gnrd +three8zmtvxqmksfpvkfourp9twooneightzgs +khmcnch1tb2 +5jtcggvdfzmsppshsqlhz +249sixtwofoureight +6sixfourxpnt +6threen +16qmgfjjmqnktnxgz +kjvbk1zzqhdkgxxghxsix77 +sndnsm1741gtszjkmvxsevennine +kzlrrrjbtrrgf5jsbgxn +4bnfdfbgthc +ztghxzrdprvlfx4 +54tzqlfjfnthree7twonine +knqkbts5ffqhdsfpmdeightnfhpjcmfmrl +jzphxleightjhxvhdrseven5mktwo +1fivegxdknn +3onetpqdddbhb2seven2 +7seventhreebzcqpkdck5dc +seven71 +eighttwo1 +dfflcrcqfiveone2seven6 +qpf8 +1seven1bjsmxzr54four5 +mmztpseven836four +three8htqhzkrxhrfourthreebdrmjsvpfb1 +zjhljpmmdms998ffjqgxgbkdbvxxppdltbrpzcbf +rj76 +vlxnnqxr4eight +2twoonefourtwosevenpdpfkgdhhzlbfq +cn5five4 +hhqzsxlm45twonine +ncszsls1z2 +ktxkkbhcxcbnffzbsix8bf4r +xrk1bvvrxvkreighttwoeight +4eightqbmtpsl2six +13jzchfndpjpone +fivefvm1sevenhjxrnkg2bfmdnbj8 +9gcfmkhqrczseven7jkshrh +twornrbjlvsdr1threem +njzxgftwo4two +threertvjcmtlr7nxhghbnvkq +6seven8drfivecvv3cr +fivefiveddnhmz25nine7 +2eight4nine47 +nthreetwotwo67 +4mbsqbpvf7threedp4fourvvdgkvzfkz +sixthree1twozxldcqnvdcksfiveseven +nh2 +4rczvpnvsptwo +foursevenone4 +5sixkvsjjqzs32kbghctffhssmg98 +zbclnpj3ncgjrpz6tcgdvjpdmkk1 +4mmsbtfivetwodgvbhrzrlh +sfour2fivefour +jx9 +xltwone6 +1szbglvbcblqtdqrbdqqhbfzrrq4sixfivezfb +two8klhvgbm97eightfour6 +szslrmeightsz61eighthnhxv1 +seven42sznlgdsdgfj +three2eight26nine +4sevenfmxrhgkll3fivefjsxninefour +onenlzksgpz2ggnvsmlxxsvqsix6twodbdzvkbhhl +mxs62zfsmkgmxzl6nbsix +9sevenlbbt9twonet +32tworbbmnbgqjd +jrx7mpbcvqfhfr7sixsixkqmcj +vcdcthreefour5bbqbhxqjkqqzkdk +onesevenfourhxfvfoursrq4n1 +six1hglqzjxfxxd4 +4lkjljr2 +3brlmgbpdnpslgcsevenxrrftvzlxc5nine +czhmhhnrxrbzgtmvn1mbjpnrlsevenbfbztqfp +xnctftbbm3seveneight9kpkfour +xsixsixh5three +2lzslqtllcpfdq3 +six2xstqpjctsxgtwo941 +sixthree6 +636bmxvvfztzvbrxbfh1four +h4pcllfnine +pknldv4jzlkngvqslchstsnfj7sixsevensevenb +78threegfclmstbxt +9three9mnkhrrlbgonethreef1six +2bzslfdpvoneeightthreeone3jpqjk2 +1nfjttgvlsn6eight2hznlx +7three7sevenbdngj6threeseven +one8qdldvhjhrfsixgscfnpvbm2 +mqlhrjksdtbrvrgvpc884ngrddthzjgtjxnjq +kpndxtponenine97 +vcpsjrxlpfqprxz7threeeight2 +ztgckbfr5twodpznplgl32rfqjhrvhgmkd +threehfvxnkfhdgmtwo16 +6seven36qrndxhxljgkskgtjdtscczz1 +ndcqhqnvtppkfbgljkrd3xfdvqhxkx94 +sixgonebbblkbbqvccnvm2jxpvlnrbmjnsrnqgbb +sevenmeight2rlvbkxmxfour3nine8 +72bcdrcbzffkc3oneightnc +onesevenfour57 +sixnmplqnfx1eightfour +nine5bh4eightseven +7gcqthhztknjslxfbcj19 +five2fivethreedbrkgchn8 +221565 +26three83vmtlj +nine5threeninezgjcpssevenone +xshxdblgf8threehxkntrdn6lghpzt9 +fdfqxmn3eight6zssbgnddcv +eight1hrrqmzjjq +ckhpqtwodqz9r +zbtjjffourninesix7bqz +jeightvfdqttxmsix3pnh5lgf +6onerqbdslg +fivep26two +onetwogscnvv1 +eight1487 +threekksixnine6 +69sixoneqhhrqsg +8sevenmtcm +three1jlbfpfdxpqpzspgcllfv +27one +mlmfourseven3 +sixninercgrkdpd9 +three7kmvsztmxjsixthree3bvhmhthreesdrbq +mk7 +jstwone8fourkrlmtfk7qjvrghcbfive5 +eightchvxseven9nine252 +five68qoneeight +seveneightfive2threetckdpkqrnqpthreevlqlq +jlcpvfxpq867xfcjcddvjkjdfnqtnjp1 +prxzmdmbxbfljckhd7pbc5three +92fninenhnxjlzninenqmhmmlsfqf +ftmljhqxjdhddkbtxlbz9five +oneone4cfsnxltqfbnzzljseven +gbktqjbrtgsevenninexf6seventwonine +nine3fournine +1fourtwo17seven +twosixmpnpdzmjxlmjsjdnkmnhmdtdg7xrbknkplsix6 +fqzqxzkgzrlkmqfour53seven2 +8three27eight4onekgrlc +nzrlgrvfive3vdtqcqrm6 +4qfgvppninetwoone4 +threelpmgkfxoneseven8threebmjtdl4 +slkrnqlpfxcrgxmnd9one7 +fouronekbfmdrjxvn8kz1twosevenrth +8xbvkfqmzjg +six4xcx97lzninefivenine +threesixhfvnjrvpf1sixseveneightfive +8ninethreethreepdlddhdfp +two47threefour +61czbc4cvklssbpt +8712st2 +lgflr1three +ninenine9 +ptx86five +291 +seven82three9 +mxfhmtcjpxqqsl68hpcfvjj +1qmvjl6four +3six84 +fivefivefourfiveeight7eightwods +2seven5five2d +6five3hqbjsrzhtkv7 +4pgcsxslr6h623 +three8one +8xnsgbjhz9 +3gtqbhdzjninetwo6thrfssxqptjbtmkkmlddhdm +6mldxcjnxv9 +mc8one88 +h4 +fivefour2s +9q +fiveseven8two8lkrtvdqchbvnmzmlhgqbcx +cpcgpg9cnbsixsix +vglgjf9qzcspsnsbrktbnpnppzmgldtwo +three2kllpcvmmgcseven +twofivekvcnfpkplnv2threefivehvxpthree +36h6hzfhhbtqgqfgthreesix +86kkqqseven9 +7jgncdninejvmqdmone5sqjp +seventhree4eight9three +38knvgxrftdtwo1 +ksgjdlpxhztnlfc6hxncbgbmgzldvlvmgrjkmtwosix +dtoneightone427 +3518msltkgqthvjhs +75qmqvkmf5six +85pvvthreeseven +ckqoneight4xqqnkdnzpggmxrmhkhx171nineqgd +76nine +6threentcfsvvfseven1eight +23fivetlqdfhxgg312nine +1pjninexlqnthreeoneoneoneightx +6one1 +lfjmdhpj9fiveonelvfivenine +4xjmxfxxfsbxgk9sixhq +8six8vszdsslqntzjqxx8two +4one88995five +nskmvtzd1five +4tpzxkbfq1vlxpvzbxnhqtshzhfourtwo +7six341gsl77eight +94dvc +qzkmxqqh6sixvn +sevenoneone26m8 +ninedtfvl3four15eightjtpfhlzzct9 +5ninesixtvvpblfqgb +5twoseven4onedcsqj6 +gcbtzns6eight52ccvvpsbdgfgg +tczvbfxfvcbfxzvvxp9three +fourkczgcb9knnpkd3 +9ninefive8nine5 +tnkpsxjm7four45bpdg +twofour1glkvvkq +fiveeightfive8vbqtsmhjqr5vgbmsxrkh7four +lhncnxngfour9five +5six36five4 +74ckc +lkeightwol11 +five3mnlbmsg2 +hmvmgnqlhdgonedxmjxxbpbpt1four6zh +svmmzbbj5 +3l4 +1dgfnone17 +667 +1qlcg4seven +756ghcxrmrgtninefivegvmtjhfrj +6twonehjv +vpgeight7twonlcfcdspmvpcfj6five2 +76jhj4sixeight +vcfrscgccnine6j +mhm8kfjl33ninefivethree +85bfqjpdmbg92rjbthcrfgvcjzqhpgb +nine554ltcgj5 +eightfivevjszdqkf96ninemgldmdth1nine +sixq4pcczfqc +three7two +eight9csevenfour +fpnnxvcttscfrgponefive8twohgfkhbssix +smkjtzm72vmtleightjmkxkgpfzmjpmbbd +7two1lxvqqzzrvj31fourprzmsdzbf +kffeightwogzcqpzdbhfvmckxmbhrgvonevcshkbctbc524 +fcsoneightnmtgzbbnflnnlk5two +6gkxbhgzbmltwosrmone1five +sjrfkfjszsix49 +47seven82fourfhhfmlshdsix +sixhjqszlc6kzzbqsldk +nineptfourrvrghq7 +4four5one148jcbvnbj6 +ninezfcrvxfnjd6nine +bfjfbpfseven7 +bdzmktwo4fourkrjj3 +nhnfv725 +sixeightsixkkndrj7 +eightone2m246 +fourhsbdblm74fourcphtwo +khrjxxrltbpngsmzndgsjmzvgqxfhvkct6eightzrvpmpcc3 +mlsc4qnlhqjfour +956onefive +1xtmbmkscvv2onefivelvlztjtctz5eightnine +32tmphhjnlfsixskninekjdcftm +krgp1hdhgvgpgbvbxgfngvktwo +klpnpcplfhlztjgv17six +5dsxngmpdvjhnlbhxmp7xqqtgdoneightdvm +threeeight3t +5fourlpqzq2two1oneqlq +eightfivesixnineeightfour1 +52ppqztdggqgtphdfz4fkrkfztzzqldpg +seven7zbone +xg79onef6eighteight +three6nvhnqeightgkttsvtwofive9 +rjsevenonefllcrdnbmqcmxqsq38 +twoseven2dppxgmlhr61onenine4 +sevenb3btzhscqbrxxjkhtzpv +859two +threetllmjmhdjr18two +94tmvfpzmgvzsm1fmbhkhzffkzllx +nlkndffq2three +6ninemfour8rbxvj6 +7clxtxrt1lqg5 +onefivegjnfzkvg9 +fplrvmqjdfxvjdfivesix6rpnkfour +5fivetwoxdgchbjjrckntlgblsxlcznfd +eight7fourfour +3kmtjlfbgssixmspkfzrgxtctksix4onetwones +8five15sixthreeljsfive +9lnn +nine7pzrxnnkthreesdjxphsrf4hc8 +three6115nqhllcmpmzcfour +vpqjnvmltx8fivefive +vrlqlj5fivesixninebqhgcpgmgkmflvn +76eighteight7 +8qkmnsjxbfhcpsvn4 +oneninexqdseven4threefive +rpcvmnng162fivesixseven +31628eightthree +83d6fsfqdghztwo7bmvrlh +gknfcdqlrs25 +9gkkth2ps +bxnvsjxqleight9ninenine +rsmcrqlnhsmjhspseven96vsckknrggbjd4tgtgbkxgvt +8seveneightcxrh +tkmfour8fivevl9one +8mgrxk +fourbgckqkeight6f +threetwo3eight652pp +ninefivetwojbhglxfxzfctwo8 +jmjtcvpsxzdbkbqthree1qmgznpbzlthree4six1 +foursix5 +6nbdzdlmqpdlgpcclc +24 +pseven3threeeightseven +7nine7gjdksbtqrrdsr +5ppflb48tkcffone8six +five2two7hstbbqzrninegbtwo2 +eightfblzpmhs4 +fbbdeightzzsdffh8jbjzxkclj +3nine6five1 diff --git a/inputs/input1_test1 b/inputs/input1_test1 new file mode 100644 index 0000000..1ba8437 --- /dev/null +++ b/inputs/input1_test1 @@ -0,0 +1,4 @@ +1abc2 +pqr3stu8vwx +a1b2c3d4e5f +treb7uchet \ No newline at end of file diff --git a/inputs/input1_test2 b/inputs/input1_test2 new file mode 100644 index 0000000..4316a6b --- /dev/null +++ b/inputs/input1_test2 @@ -0,0 +1,7 @@ +two1nine +eightwothree +abcone2threexyz +xtwone3four +4nineeightseven2 +zoneight234 +7pqrstsixteen \ No newline at end of file diff --git a/start_day.py b/start_day.py index beec438..2f72812 100644 --- a/start_day.py +++ b/start_day.py @@ -29,11 +29,6 @@ if exists(day_file): print(day_file, "already exists. Use that one!") exit() -with open("skel_day.py", "r") as IN: - with open(day_file, "w") as OUT: - while in_line := IN.readline(): - OUT.write(in_line.replace("%YEAR%", str(YEAR)).replace("%DAY%", str(DAY))) - start = datetime(YEAR, 12, DAY, 6, 0, 0) now = datetime.now() if start > now: @@ -43,9 +38,15 @@ if start > now: exit() for x in range(time_wait.seconds, -1, -1): - print("Day starts in %02ds.\r") + print("Day starts in %02ds.\r" % x) sleep(1) -call([CHARMS[system()], day_file]) webbrowser.open("https://adventofcode.com/%d/day/%d" % (YEAR, DAY)) + +with open("skel_day.py", "r") as IN: + with open(day_file, "w") as OUT: + while in_line := IN.readline(): + OUT.write(in_line.replace("%YEAR%", str(YEAR)).replace("%DAY%", str(DAY))) + call(["git", "add", day_file]) +call([CHARMS[system()], day_file])