Update Clojure patterns for running and testing
7 files changed, 15 insertions(+), 1292 deletions(-) D 2023/clojure/day01/input D 2023/clojure/day01/src/part1.clj D 2023/clojure/day01/src/part2.clj D 2023/clojure/day02/input D 2023/clojure/day02/src/part1.clj D 2023/clojure/day02/src/part2.clj M README.md
D 2023/clojure/day01/input => 2023/clojure/day01/input +0 -1000
@@ 1,1000 0,0 @@ two934seven1 8825eightknfv sevenoneqbfzntsix55 foursqpqvv192rdrbtcccfourone 9jpzhpxqthreelmrnlhfqmn4 onedpsckg3xdhmgtsixthreefivejlncszkxeight 4twofour 7eighttwo17fournsmrznntgjrdpkdjvx 573 ninethree3 3gngzkpkgrf qeightwo2xjvfkfiveone twoonej26 sgoneightfoureight5sevenjzsqghg bnrb36xtjd7four9 threepprhsff3prbpfivesevenseven4 38sevennineninemnfzklttkxnine3 8mllzkfqklhonefivemv4 onedcqlqcrzn66three 1fourjthreefc2gbtbdzsix eight7two4258 4hmfzdzf 26dsmdzznm7 plckvxznnineh34eight2 dhrvd4eightgxznhqmh 5fxhhkghvm3nineshpcxhtwo6fourhrktpbq qklhmhmdlgeighttwoonetwo52five 86threemmpchhzdvsvxfzrj 9clvchpgrslnkhdmfkjmlrvgnf 8ncpdtspfivethree gtbtkqcgvh8945 sevencrkbt3btljpdpgstlf 8nine37bpkmtghhnc2hnreightwohvs 5qxmsrthreempcmpdcnnv41 8threezrxhxgx4g jhsb3onep1 eight71rnz 7p16lrxktlr6 8one5fivelvdbjzz 1nine2twodhnineonesixkqfcbgdlfg four8sixfourfive pjdmt4one8sdsdhhqxlqgzpk6qrtdvxm sixzfourkdpmnn92qbjkjqfqpn 42threefiveh 5fhgzt8threemzhblb6 bbc3kxhvbfrn8four6five 91fknhthreefour six9fttmqpninethreevhgtrxklbvxbljsp1 four5five1471mtfv 3bjkggcntwo3ptmjhmthree7 four2eightone threedrzktlgbz4five dmpgttqfivekcdjbf49six 9bplkkgrxgjqjqb3seven 4861sx4six hjzmxtxvxkkpbvgpvmgb4two8bqxlvponesq lkxxtkctlphjfivepjlrg1 xszdbbvxjrfxs2vrmmbfourpzcfmgppk33eightwors 966fourflbfsk3 1bskshtjseven5qlbjhqgzhbzxvlxsvtcmmzseven 56two28cbhfsdcjsix2four 6s5qcmvjltqeightslhnzmvbfvcmxj twosevenjxk6lhrkknnkq kjkj2lkkldqbgzhglmthree9 ftxhnpms1onetwoxg2 three9sixsevenmrgggztckzgzv7 stvgmjgnine2vvsnjhlzkstwo5szsbvzjdzb v6 threetwolscvhrlmm3r two17kblkphfninefour6six1 one6fiveeight9sixjzljjfknrhkzxr dgpqm43xthreekxgspjzrzcsix 2two8fourpppb2 fiveseven5four 5rttwofivefnmbkn8nine2eight 43threeninelgnpzrdtbc1lbkjkvqrdcd 1seventx nctwonefourjzgskmxjmq2 rpzpht2tdxczzfthreeseven two1seven 6bjztkxhsixkgnkroneightht 9mqzkgmv4vxqrpf4 49hlj 46gv 75sixfddn75 eight87xzjkdpnnjjfqeight 9pfcdhxbcrnpsnmvkqnsqsninedgtlmmc5 xmfbn34 99lvrrndpqcnhznn qsmxhxfph24three lql25 8five1dhrkm twoninefourcxksqfmn1 7eightdclrvn one2seveneight3ninemcpnmonetwo 33fivefivenftbczsdstlxzbp 9r97five 5fivessskxvnt6qqbkkqrggxg9gsdtbptpn threesjdpjdkczjgthree6 twojqm86 bttrx15qfznmdncnz5 ppckphrtzhstd3xvthzrxxlrrjtk qkm6ckeight7gnmqkltz6jsrgjhbck zdjjjlpmjtphbjpm9threeskqrphxbfqqeightone konesix1three four24391rzxtffour hsevenfive36fqrbjpfj7 dxdcssixbcnp8two639 hnvg2 sixeighthmqkjjsix6tbvdhzone2vsn dfzlxq7pjmq5 5n3 twovjcgxdsdngt2smfxfqxeight ftpjlnvg5qshclfzqtc2eightninefivecsrgk zzgsjsjffpvcgfmjtnpkrsqlmpzlt9four 4btrhpznzr8oneightg pph2one 5seveneighteight 31sfrfrcgmseven four7bdqgrhfive3 nbrzbggpseven9prthjvknq 3sixonefourh fourgkrpkzdmhtwoseven6txplz four84ldbhnkxjph 6eightonesrb gnmckftk62jgsjxzpk bzctx9onetmcnzhxkrtchjgqxv66 1three5 27two 34eightwox 6ndgrbmfkfive2ksxfbnjbl7fkrm kxpz4gjmgcgzzq63five nfvmfrbc151one8nggsdqvm 4clnctseven5nsn5 hcrpbvqmmdbstlxccthkththreebm6 gdnmh6cslzhjhdl8nine sevenninethreefive4bgknpbnine 2sevent6three1 2jbrmdxgpnine7 nshlgtbkmcmgkmqone3 dklhc9sevenrxxzzxltsnlltqcjrbgprnx gmrjhlvzppmklnl39 kv86eight3dcdpp6pmdzcvsix fiveseven2sevensix6952 3xrtthnsevenjxsxpzvc 256nmzrlzbczv 4dp7onesixvpcf 25onesevenonexvnst4smvlfszcrv lcxncproneseven37five ninezjsrptfivenhsqxrdz7one cscdmnfrcxfqdtkmhkldgjlxdjqsxslhdzvvt4 sixfnjnfkqm67blkmnqtwo fivethree7 2five5ninegcmqbkpp61npkpml9 3qktrxninefour qdhmxstwo44two 21nine rbnineone3xppvtbmv3sevenvxkkgmgklg mcvzplmpvptwo38 sv176threeone 5vksixqsccgdkrrfourcgnpsfxbvj xxtwone6eight threeonespkbnsj9onesevenpz5 fivenncrfvhfdsevengxzkxbkrklgsfvllrkbx4 69kp1seven8dqkrx dmb9ccghdjjpjxfivehtwo4 6nhgdkpdone tfvqdqdqcszxbrdmmrninesct2 8sevenfour2eight8rskc cpmgffcvln9sjdsgfivesix5rppfsfmmqtffive 5two7 7threecrkljthreetwo 6qgqzsdhprd 959zgjscgtm fourtwoppfrdqgtseven9 8bbchvoneeightr gtddrb1rznsdjtonethree5four 8rrskfzlmlbrsninezdzpt3 6njhmkpp4onefive8two 4cqpnkcxjtwoqzqmjnqccfs256hcnqpfm nineeightseven62sixhlxlps dtqplzzf87threecthree mqptgzjxddxgxpjr5 9194jbjjktwofive five514foursevendzxlh2 6nineeight85zvx four8gsgrstfmdv99hpkfgptzqkhsmgsnlggrseven 9three298 3fpttzk35 rbtckzonexkqmfxrnsbsrkqbq66sixkcqfzjfour sixkdcrrrppcsix399fccnsbhfxvfiveft xfjxbfvmbxbf3twokkcfrbcfbmkmhghsbzf 9sixonesix3lqqf9 eight3fourgcmp xjccxkhkvgltzqslmseven5twoqhcmpsixeightnine 62eight8 hzhccdkxb336 gcsbmkdfmqvxtfj81 two445nine xhrkgql8six41nine1 5dnlcsjb jdqdg8gtgrctwo4fourthree five4five 3threecggvthjv6 sevenzrjzqhgtvtqvkp3three5sixhxdmfour 2249eight6 drt5trhdjqf3fourfourkfour4 5oneone1 threeseven5six 45bclsgsqx 6ggfjqls rhpmhfournrzg418onevlkcxxdrd fcvgszpsixthreegqqctvdqnfrbnlbmknlvgfour1 twoxvrhmxjbbn2eight 27eighteightsevensix6six veightwosix54bcvvtcgbqfzprp7four2 9kthreeqntgvbb34693 zxcdmfg48ftlhk 1mhcctbmbzmfivefourtwo3 two6vxsdfhgstslsix threesixmzhvfqsix5xhrhrvsfh7kpcrsp oneggkztrmsgrthree536three 7seveneight81ronesix sixllrjlqtffqvtdjqhctt66four3twoone 2zxqpgmgz 7rfngpqkqgfivetwojf vvbfnnine3ngv 59sixninelmhmqchlthkbpthree33 1three6seven1seven5qntpbnsfour 7nfzfsdxzfive8fjvllc4 56seven5seven 1fivegqbrdgths four32vmhvnk hvdjnmpqvqbnrcrclkgkrfseven6lgrvthv 28xngctrvmnc4ntvxhmxfsj13 onep1onecjjmxxtd 9eightwof hzgmtfdj8nine7seven eightseven3 fivepnhlninefive1lcftks 122ninelrgmdgmqzd zjsix3 7rffvg9hbjpx 3h76 fouronessbhxlcclkzmnnbksixlcdqtf3 4fivesix228five sixrlthree1bzhddfbkrgxpgxfivef dxgqnkqfgq8 onemcfourbmkhh5px fmtqjcbxznine3three qzkcxvnffg1gmhplhlffgtwo3onevg7five twokj7xv63six four58 fvjeightwosixrbrgnmrrmdtwomseven69seven 5fivefour 6pg8twomrqfzkxrthree9 7xqtqfrpprlvhnthree l35sevencreight4 threechpctdgtq8fxspqtnvggkxtmeighteighthdgngnmc one16twosix threetwofour3eight1pvgcthree 229 ngcnthreeone7hqbbntqxeightkgtc qtgkz1ntone68 nine2seven two1jjccnlrqlsdfvtgjmmhh5prfpcc onesixvtbjgdqmtg1eight 77qkvdszsp9ctqndxzrjc rnldvcmks74355 fourkljgznpqntwofoureightlc3zmljfnqnr 8threetbv6cdjjbtmmxcfour4qlqjql jfkvbvjxjzk7 7eight8vhsdrd onezdgffrmz2 eightseven8 7gjdsevenjsdkljn2fv kmst4 3five8smctrhdhfninelzbrszmbdm fiveseven4ninevdfive3 8jg6nine4jmmsbpbnskoneqxgjrphhf mgfourfour3hgmrzkntjm2hxrrfsghnone ninecqmg72 ldthtljblpl3fiveonervtxnxczfx2 9sevencsevennscmbjgthree 7lnj9four fgtwonexmkvkcgpq36sixsmfnxjs qgmfmnh6twoeight 56sqrseven 183877 ntt1seveneight513 7three6dzdrs 8sixsevenfour mzfhdnhseven4eightvjsdnxlonenfzlcxr sixzdczsbtq29one4eight6 jmxcbmktjzeight5fivenhtzfsdqbx four2rvlppone258 fivezvlqr236nine 262 58six2nineone5 twoeighttwo3ktzhmdvlx 64nsjgqsqkhfqmfk foursx18 gklzjvvv93zzmzgpn onenmcvr6 qsnmlbmlr6 sbtwonesevenfourhgltwofzhzmbsrfm6two 8fdhxeighttpcjkkmgsgnpnvsix2eighttwo 5pvxnxxdfourfour75 85vtsgkn1kfzkszmbld4cpgrqsfive sdbzkzp1dq5lk 28161twodfznxckr xfpgnrlfour61 kzkkp65qtqfppc7f9 twospplzdrdfvsixsnldtwotwo29six 9fpbm 3one83dlvdr 9rvbtwo25sixkzlxfkg9 8jbmfbfsxrnxk7oneninesix 3798 jhcqmfive9 nine35 596 nvzztnine2vhhchqkzfjzmkgjbzlxhvtdhddnr 5bltnjlmt12threenh2 eight5sevenninepgxvhflb4eightmxv xtrct7fournfivefourfive dhbpsnpxsglnt5vsnclxhnntt61two twoonekntsmsd81fourfourfive gpnceightdx5pklsp79x four5fszlnphhxvhgbmfcdkdbgbc7 xbxtjllpr9threeninesixbbtkn6 p7 nine644two5 5zzzlmspbcx9vfdllvqtl8five four2bxmrthree 7rhgfnzqbpgmpnfz threejhfmbmxzp469 74ninebmtpfkzbcg5nine fflpg34two25lvnmxvqlv jtqtnthxqflp2onesix39 9sevenninefd8qpfiveseven 28mb5 lflcphkxqqnzhd2five 3seven4fftnss ninezxhxqxxpblm9 4ninevgpmxxmqlf8 sevenfiveonesevenfjccpmnnninesix3nine qmkvt6pxbdcbrcsrgppzptzchkmone 2sixone 6dzskdbknpsix twonpqfsvbmqgeight23ct 4sevensxdzsfbmmmdrdjtpbh sxkpmmhsix9five7 fnxtgfrltwo67threepvbsixzvj 54jmvmdbkltqsixtmccscsixeight 6fivefourrbshbc82jrfm2 dhlpvhzhms6 419bhbcdsvftxfvvkxcxprksjs4 sqrq17nine 84rjcbktz8hrplcqsvhqqnnqnsevencjhone gkmljdk2dgrlptkxdsix3four599 cnjpf818sevennine 8cvg 3jqbbpfpxmpkrhfoursix 9zkrhbmzkbzlcnxlgdsixthree8 nine9kvxeight2zqvzhgjzjz fourbglmlqzgvzhjrmz2nzqxlqseven seven4five8nine44eight onegnine6 qeightwosixfivesevenzmjfrqvnsbnqlt7four eightvrshp9xnxlgqcnninegvbj ninelpbvs9three8ltzvxnd4 nmnlzone3grqbzcdnpxsbcbzxn4fjptnsrqsqgsdcv 18fourcqfive1gccxg gfglone6bqsqjmlftcqpqmmqmglskzfourvkhd9 5cxgkn1g 29seven9ppr fiverkmhxvnbp3lvpeight1one 77four5dsdqzvt gvvpbone23 twolrjs56one six2745six kbxplzpsixsevenseven5one3 threexzrcfgffkjsix9zgdseven56 onetrqcfl6 three23nine four2mv xzfnzkmeightthn6twotwoeightqmf hxxxldcvj99three5qgmllbtrsq 6zcszjbrzjpgrvfivemnzkpbq2six 6zvtsixone73three threeflxtwo5fivefhbjptgfjmgbhpmbjmsv 5nineeightfourd five26five7sixthree1three fzvsixsix3mxxhseven twoccxdqqkdvc2two9ps6threefour 447lkkoneonefour6rx 8seveneightwox sgjv21 soneightkmtps8onesixvpsdcfbbz 8pzrtoneffhg mmzeight631 5fonefive foursgx8fiveltczmccpzx sevensdbhnpmjninetwovlv1three 64qrjdtpxbxdbcqmmlqtnine6sevenfxhcrjnine 1seventhree ktmfour3 fournine8skzxtftwo9h9 bjq8 mrshhhzsixcxsxxmbh1bone9fivelsplqv 7threezvgxdvrthree7227 znnvfive5mctxdfive3j4 five2three8 gdtdqc9nine1 three3eightgnsxrmbmxld9six zsgmcpxxvseven7onetwoseven6 8n3919hfiveoneightf 3rfrzmlfsjxthreefour dnnshdvxdl6onendg27 66lpbz sevenlkjpxthree5 8clqlplvljone5hfh81 fourldvjsixfourfour5xrmcnf 9nine2 4one1 4vzjgncrztvstcf9one4 four37 4sixlqpnqxqtrhpc3 8threejzg znxccm8 one8eighteightkcvnqjpsp6nine fivesixgc74oneseventhreesix 5twohshtsdtqk2 hzmchfourvzjgnt2threetwo5cgfld one9three836one8nk ssslsdftjfgkpzkln5 xhsxxkzk1x2tzbjthsnsix 8nineeight3njq ninethree5eightbfour2 five56sixclxjqsjseven8eight three3cninenz lt3onevpkgsixsix 4pkbmgtwo6zmvn71eight7 2eight6cdd83 5kvp3zhzq vtcmdkkcmnmf1two nine2nponeoneseven xm1twofoursevenfoureight ggkvsljtddcmznlxlqb4one32oneightppn onehdq785 vzthreezjbdrlvhglbbcvlfk5 eight9smt1sixsevenckqxlbvdzone one7fdcbzjtfhbps9oneonetfftbneight 3sixfgqbsngnd1zmqbxfllbp roneight28one8fpzmkhvdhbqlrfive 4five2four453ttlvfqxb five2four413hhnts8six xlfpxbzrbphb3one eightone8nineeight 1zprfttxqmtbhzckcfoursix2threenine 7sixzqrjxn92pnbfxzbrnmvrnpjpdone pvlfeight1xkgrvczlcfvvl8kzcktkjbj four7phjzlzn3two3two9seven 1tkcdvdtj7nqfsrnmfzghmkrqeight 36fourxfdgrprrdgmjczxb five5fivefdkgnkfgd5 5seven5sxlkbldznz53three8tmkzlrt 8dkxkfvjkprxtjlh5tjvjm2glkpbmhjd seventwo3 bgssljzld2one5seventhree4 sixfourrqzdbdhhhc7lkxqbtsseven55 6threegtwo7fivesrbvfk 2mpxkrtjphdseven 14seven9dkk 85dmtjqkchp7two4 hvqfbchqhpbggrqhf4ps dzdknbdceight72fourcmfvsrzt xmvgjjfourfourmjmkh5onefive8 qdfreighteightninecdxrtdbd7 mxlhxlbvbndqfzmseven34four 432three5vqhmjzgvghnhhg ghczftpkttwo4sixoneone4brf kbbzcpsqsl7qdlgff5fourfive6jk v8nxzpjxntcbtwonrcgztsthree1eightpfdsp 7zjdzbnrpltfivemgcsjzrdjskhfmbgvlr5dl 9kpbzzr 8386six3mzh3 41nineeightfive twotwo5threebvgmmhqrlqltqmndhveightsix2 58drxrgkklm 8two48six3sixthtwo eight88msfnone87nine four5lvxfhktrconexqzqvl six8mrlccbeightonejnzbdkm4one oneseveneight366xzqmnmfvvrph joneight7nine7five 5fourtwo26onefivegsnbcjj cpjnvhnzxsevendbnblfkpx44lzn88 zfmdcsfkktwogxmrsbtwo2six78 ninetwo59foursevenoneightsx vjbbphb5dddvksevenpmnmtjvzdvxkkbcqxbb 9ccgtrznm4 zplpfivesixkjfdvrv6rfmqk hfxhpsxgxjfdbfmjb6one threethree9 six3seven seven286 bnkrghgbkzdz29two31 gvlzrhntvseven3 twosevengdkzgv6 rddtz12five9znvtsljztbztprthreeszkfhh nfivesevenhfpklnxqb4nineonermtfsk zzz2onegpthree4fdnqxrtcnh8 4xchnsevenxnkbrdpzsnine6 hveightwofourfive8 8one3 7chfpsbh1two two2eight5gchbxqvrmdfqvghtnjssix1 zfbeightwo3 qhjnfxpfoursix9five 8fourrbrrjqqph five5threethreezfvskmsv76 sixvtjnktt4 5cndcht2fivebdnxcnzzmfninenineqzktj qfzclldsvzvcdqfxhtqqtknine527 onefjrmmfqvgnxnjdtkdmk25zghnp hvddcjnoneeightnine9eight 9lxpszk 17fourfiverfnbmkrxlvone qxvdlrxq89vf qeightwotwo2 rzmxzgnzljzssnxscvv9seven2kbnineseven sevenseven8 rkhkone8four zn68 5pvfjmjxthreeninevtj88 51dtwo5ngvxnmjeightgbhzxbd two6kxkvscbxcg34six3 qbn1 hgxgtwoqtmsqbv3 threethreejmtjk18two sixone4fourseven6zcgpdqps fiveqptd8gtjfour1twothree 89fivefive4 sixvnvmdmfeightcbbvbrkffqstwo7 three4fivefive5klxvsbhslzsix29 two9sixhncrcvxmf rsp146 eight2jtvps 7four6 77p1znpskm bbdvfhqmxddlsvdpmtvctnine135 dlclxtkxk85bn bxbjslnrfk6 51zfrtvmcbkkrnd7 27fivetwobbssnklg twojxdksqkm9ninejninekcbdgnsq3 nineninebsbd8 sevensevenggddbfxqrmonethree744 srtbzcbsmfivetwothreejvzjzxqm1tjnjldcxnine nbsix32 25144spnmfvvj1dxpqmhsldk 5two4mrqnpxzs7foursevensevenr fourk9zszmnbvmkdrz lpqseven2seven hcjgtjcxh1dskx ssrnf2ninenine6ngbhfhdqsnine cz82jhmgn14cktblcl kxjzflkkbx53nine62one hbcnpbmfour1two ckjksxthree346pjtr ccslpmqnine27twodr cptwo5twoggmrjvl15eight 4vlktln5kqfsnvrbjbszqzclmnkxseventhreefive one2eightwopp 2sixsixone5 klvsngvv38tcxvhpdhh5 fivefllgljkdg9ndlkpbmgbrndqbpxqdk 7ppkvstbtnvseventhreessd1three9 threepnrcmb3 thrqrcmzpzt7nine1three jvgrqgbcshhlnqrl2vrlppxbnjfrdtwofbsdvt rnhninezxbrlmnlczqnneightsix9one ghvqdxkqqfthree17 dthreeseven2 rkxfthree7nmfive6 6vhnh 13brdgbrdsvthreethreerttfkr ninelgfdc7 88z9vzscqthkgnhmztjnhthreeseven 1nine3mtgrfive8nine1 thh5fivezfmtlsnvtdkfour34 26six6cbjdssevenq2tl gxxnhsxqvjcvssrbrhbst6sixvcchxstbpb1ppqdbx vninexhkjkmzvhfpvcd7ninezzldthree 2twozknrxvcsj 3193spfourxcbdnf 84six4vc1eightsix zljb46four6six sixfive2seven1 1fbmq9fourmhbzzkhctp6ninenine onefourtworckjqzhqseven5seven five973knlxmtmdone8prtqlsltwo 2ncgbgpq 3eightthreepknbcs58three6 6fivesrgqxhnzfouroneqpmgpmzgfoureight mphrj33five 8sixfives26sdscdjtpchmh four64mtlxmnsjbtdkpmf4 onefivenine9nine81two vfc9nqttbmbdkonegclxcgbxkx87t sqnzdrcs8sevensix6sixdjcmk6 7npppqmrmblzjqckk8fourbpxlbtwonine nbkklkvpl2smlqbh 37eighttwo17fh77 eight7ninekkbvtwo eight18cmzzdpgl5 sixdc17nine9ghzpdpnxcbxvztcrd fourfivelrmch54 jbqbpzxbbdfiveeight9jnzfdh5xfmhhrkrkds 146two6fourclmcllhl 222dqgtptqqn gvhninesevenfiveonefcvnlmfcvjvf5 9xgljlphcxeightfivehpdlfrmd1fmqhrnvbzboneightjd 8sf3five6eight zrprbc8 gqb6sixninerpsrpnlldteightgn 2jdlxzk hfrbqn4zbpxqb81tlfxgxdvzz91 qtdnxgmjjstlc1nndsnbbcdm6nine z7twonezp two17sevenljskthntjzxpkjrkc fivelvfive948 sninehxqlkmv7oneonedbdvztzgh8 2fourxcrkrcvn clh4four5htj hdkx4eighteightsix1kgtbb nlbsqhkltvmzs2njschfbmsl3fivensztjtwobxkfn fnrg3837five vxcldjmjxxcqntqcqnninefivestbbjvptfvkbr9onetwo 4six7two 8five5sevenslfqtblfiveone 26ninemhvqkjgcvflplncfsixtwo 7eight523 9fiveplfdp1qhqhj15t three3eightrzvccr4h 9vhmkkjfhtfjtwotwotkfvlhvs vxoneightczdfl4 3one2 threeeightfive2four gksfxtb4 1jjgdldklznbktwo59 761sxvprrzj2kxsmlmtpbqseven 681q 84ctsbf1six fivetwomfgplcfgfive7one1vgbz rfnqnnmsdcj6foureightfjfkphqpktwo 9vntpmfsevensevenfour 7zvchbn6two9five fourseven7 2lvtkkbhtjeightfour89 5nine5threemgsd 933nxone5threeone 2dtbbmghgxvkmtvnlgsxjlgbc 1mcrlzhvzrc2 ftwonegsndgxmbzn6one 916vfvzvh8twolvhvlc34 dtk7eight6c6 kbhjg6qkdgh8rqlmstq4 eightseven8 bhlhcphznb92two q8d 375sevenvhrhkbtbvncmqqmpxdhqzzggvr 9onefour1nhmjb hqckpzrvgmgqjmvsrjhqx8twodgxkbh 5grdsbtp6onezrkdvpdqt2 tdgkr4 foureight24 ktds45zvjd eighttwo58lldklbmxn91fvlqllnxl threefive3bdmfbrhfklhxjvdgjxbp1 hqpfgvk56oneone8 two32fivetwo1nklfhjfffthree 77jggmjkbqone 6fckfqeight fivetwo8 7five7threethreeb twosvbzfmv1fourtwoeightsixfive ninehninebgjnknth5bhzqlvthree6 onefrdv3one1 five35 four3three3six9four55 xbssqpvjnine9six9threefivetwomjdvmpxrh ctroneighttwofive3npxgbhfsix1rjnl 8ckbzlmsbfxdn 51gckxqqbnkntmvx1ltfmdvnlcjnine eight7gkql5 sixjghxscppnfive23284 eight7pgqxvsix 46eightrjhgdmvf5 four4bmjzzjqp1rv523twonevm 3sixseven81oneeightwocr sixmmnqkrfplg7ztrpsixone4six 1sixfive5nhrq9 six8threeoneckbvqc9mzhb6nine 33sixdfzmds12jcvfour6 1cdlflvqhrkqpktdnnsx7six8eight7 8four18 tpfourvblonez8six fourone2smjpvclnine 99zdtdpbbvhnninefourvzfmzbscdldhxtcjfh fzjeightwoeightnineseven6 twonine2 fourseven1eight 2x3one qbjc1jtnbpdbr2six3 sglmt84five5nine sixnljjqh4foursix 4nxjgs79six lhkpzgzjr3z7 onefourflllxbtkpvgfive2 sixrdr1twoeight165 1dxvjdhzb76915 44pxzzttvdc185txvrpxq 4fourfgllhzfz nxssptkdldkpchnseven9522nine nine7fivefivefffvqpvsqzsvnvlzfvfs2seven bzphzhgf2xrlqjgonefour3bclmhtlzbmddrq vsxf7eightzzndgfourfour rqbhb14eightthreethreevkjzhjlkcmfive sbkrlm3nine zkzlqfbzscndtlmn14four9bsscd six33 1gbcgnpfnseven7plppdqone3smljtjlkhj 9jsmdjshtzm92stx9onesd 51four4two3one1 bxkpcpcntkflxccsixseven1threengtrrp 4dsdllkqnpxglbseight 7threetd3onefour 3vcnzndxfhfzvncfivefllrqvndtx964x nineeight1eightgqnzfhqkzgvfvctwo1 6fourthreeseveneight eighteighttrhtplssvjnnkkreight4sixoneseven 43hqrtctwotwo kcxfvhjksix3six2jbkrlmtwoseven 43sevenpvqh9eight7xcbvnckrkshdx sixfive3745three hmxfmzqdpfzjjzdxsix8472qcpbrsgx3 threelnzgs96five1 1dftdbtgjrpfive3cztvmxkcxh pmrfive4jxfxq1 eightclrzz981492 mscl2eight3 twovb8four7sevenfourkmzpdmpgxj 59onefourxnmptgtcone 6gsvxlbqspvzpsq eightthreesixtworcmpjkfvnsevenseven1six ghmflkhprkthsix9 441fourfcvxonefourhg5 four795seven tone11 22seven9two 5seventwo2 fiveone6h 936sevensixnine1lkp 62kvhcg six19 td25 9two2four4fourmeight one6twosevencrthreeseven97 1kttqbqkzvvr7265six 65rzmfpfqjtzb11m1eight seven1rrhpxjqtp plktlvxkpkndhx66fivefivexkh tttwonefournine9oneonesplmp5d gkbl1fbn3two97onetwo 1seventqngll dqfiverscjjrk7 4sixfour4onethreecvbj 24x6qhgtsxtrfh h6 fourfour3three 8hrdbnvxgndthhpmrgm ggzjfour8pxdlpx rnsixnine9fivensxfzzgzlseven sqzseven7 rcpkzht5 jxhtrkzl7eight3eightn68eight eightfive24 kgxv7kclnsscsmqtnmv foursix2chgckldprp3zqntzscxfc sixsixfourone3tnbpxbmgqccncgxxnine oneeightkgsbdthreefivepvrsktvhrnine5s 4vtpzghfsj 7four1lttzxpzcbtqqdthreek five76 vlqvvdhhnfzfssvthree3ccsdjhgc3seven 2nine8six lddxjsczqkd26g5jpvdlfour 1twotwofcl sltfz55knrfvhhbbeightsevenninesevenfour 27155bvv dxjzmftwo2vnljlsthree3three twoqdpzhjhbzksix49dhdfq three2fivenineqbxkgfivefour qnpsfq8twoonevsjffive9 gqvvmhxgx6gdsqmgccrmzrzltwo81szbnbkxt 2one1czgjvtcgxfivenqsfourthreethree ppcspzrnnssvnht9hdfoursix mmqrzdkmt7sjqgsrq9rhxpgpsixgkjflnht 57foursixfive4fourfive tjrfj3qldspjklvdtcb6ninefivejmbntcthree cgjnhsixsixsixfive7 eightqdqgjppcfive7fivexznfsmtk fivefive864scrf six95five17threeslktfgd 77mrrjzc1cbnkxfkxcdmxsmtwonet sxmsjccjrseven45 kjpsn1eightccctxthreevvffseveneighttwo 5twoneqr 3threemvlqpvhdqgtqseight jqrxrqlz93ninesmppvdhtxk5five8 threesixsntqreight593nine9 fouroneznpfive6qmn8 eightfive3sixxrrjgzlb gds345twotwotnjrnhjxdz 27nprk7 eight1three2onefourcfctvmhnqlfour 1fourvjgkpdrsj4kd2ncd nine85ncsqbrmdtxbtrjxgztq twonineeightonerdnkjkrbpsbzcpone5 nine8lkkvxfvlsixseven 49three9 jqmzthzjjseven5 seventwo9z7four5twohstlzjx bzvbvsix7 2five4 fourthreesevenfour2nine1fivezspphbmjv 7skjhonejhklktvzjflnineonemmgvnnine pmgxshqpjhn9qptllp 2nine5 fourqpzjrtttssthsxsq1jkrlnkk eight53njhcfhbjfthree3ksgrrj cgmvkqlcgzgfqxmgkfdzxxnxjgsd6eighttvggmfbdvztwo onefour8txkkpvfourzbhpsnrzleightseveng 49z2six591one 768five xgkfonethreexnlcptbgxhnine4fivetwosix 6ghccxxjponelmxeight4 3ninedlkvcbfmd2ktmjxsgdgr 3threefourxcgnxhkqkjbdzb 49eight44rlhg83gktmtm fnbnnpvcthrsjxnqdn9 ldrfhknine3394lgvseightwoj zmpsc3lzlkmqjc5eightthree llpmmfsmt8llknhrn onedvc3sixxx9four 148eightq6 95one9sevenfourfour79 one9eight78gnrthxbn 95xzzlpjzqdtonezfntwo6sixf eight1sevenn8bgnmnxbmdk 1sixseventhree2 twogjprzznd9sixsevencpfbh1 gnbtwomtltppkxxtwonlfxsbzjtt4bjlfxlqhlx three5oneoneqd3bcjgl pzngtc2four4811 nnlqscgg8nine7vst4three fourcdqc7vvqhpgqlkjsevenfivefiveseven 5sixtwo9sixqmxxgjvjqjtworlzpv 6dkknsmfmnq 2two74five7 four3vvfskp qqvpdttrfiveseven6 tbgeight8eightsix976 sevenninetwo3jdone three6seven7nine82 fxffmkjn2sevensix 5xzbf4bjqfrfourpjhscxz 5eighttwoeight7fivex1bnfpr 1j3262 two1fvxchkcdtqctph vgnrqn4three plzrk3tmqpxnhpkq6four four5eightone6threedbnjkvjvzxl bxcqcdnjjsz66gnxbhcct2nfhqlbs twovvqb9pxrxkmflzqeight 86 eight9eightsevenone2 dclk16seven lzs15four 265ninetzpnbxzllkq ttldqsnineffpplcxmbvknkmtdbzlsix7sbkvqhn77 eightgxzcjvgmtgzc9gndqxbxnsktvp mpqxldjnfive1pzvxbqqtwonine gzbczdrqkmtm3lzrhnf mlbsfqvrrtcrvhjjbs5 fiveljrcn27 bvnxlsfmv6eightnine3rhsb five5five eight31zztkhrznmkbx2kvzl4eight fvccqgfzsqfour453125frz xxf5threefourtq58 stvfjpj1ggnzgcfzldd2hbxmbgtftpskbtqmgv 11cbcps6 dltxch6onenzsmqbfn4onezkdntjzpc4 4eightthreej7lpqbvzz sevenlgonexmrmtfhqpfourp7 hjjdgtldrfivednsfdnmn24vtqgxk 41tnjbxk2gghb 2eightwotg eightkvhkzfivesixtcnpsxssvveight2 59dnmmpone6mzqlnf8dvnone kfvqrgv87trlninedf 85bnxlhdrmjt zvzxt4pzlnbb jfour6lpvvvbdn76tbblfqtwo lnqpscgkone1 mcnfzmvzkxp1 threeseven9onepvqhgdxcxmhtkxxvlhqrnine sixrzrjcmbpppcvf1bvbhblrmz 6tzthree7sevenlm9 four3gkqrmpgnjltwo threetctttrh3 ctcfljkgm7bcphzxzjj7sb43zdkvkddktwo sixzjkxlfourhqtwonbslgpt9vljz1 sgz5 vrrfjbjpsevenzbqcnthreelhxjqmdd2 sfmjnbnnpvthreedbsh7six5 twovdjqdtrxg5 nineeight7five 4xlpdvlvonekqmqvcqjsevennsd fiveblbxxjcbhxvnkfd9one7twoninebj xdxp54sixseventwo onefive7 ppgsqgjfourfourfivegtbrlkdvs1jl twotwoeight6sqlmffdm2three cvszcvq8eight 79three 44fivembtdfivetwones zqkthreefoureightthreethree2five 74twotwo six6fnjz1plxb19 mkfj72nine seven1nine5fourqsgrj 5fntdgbzkjfhxlqrzcq7 six9lgddrhjc9 1zfzp7 2lmncxvxbbsix7jbjrjsnvx1nine 6eightseven3 5vsqhnone xoneight3j 1gxvbbhfdmsthxgrvnm sixthreeone13 2three8bzbbd 3dsix1 24kmxnlpqxgpsevenfoursixfour fqpzqphmczcvlf2mxqvxnfqxthreeone eight789eightnhsh67 zznxlmhgr3eight beightwolgnb4997fgx35dt four1dsgpfzltwo57threefivetwo xnjjvmlkkgsht99 1sixhhqkx9 eightdhmgqjflthone44eight 9ftzbdsdkd9plrrtwo vhbvd8h txxonemsfshdrpc15onefive1four qgbd4eightrqxlznbjqxmxgmbrnvh7jkd eighteighttwofive5jsqkgm 89hn 3lzfjpcthreeonenine hkpc2sixdfldx1 3two72jbxttzfcv mmkjmmlvcxxvtwo25nine2 8751gphkmsvsjhvkzfc one8kmcktvzgdninegkl twokpxphkbjctqdcvf63one3prfive twotsxhbppfjcpkdfourfiveseven8sixn 3fouronebnclssixfour6eight cmdgcsix1 2eighttdqsjdrtwolmvpxqgxhd5five one7ninefivesevenqvpf5xmccsseven 2n7xbptnkxzcninedhhpdcsqkc 5n 1kfv4821 pslpmthreethreeone29tlmgj sixsevenlhn1 nine9twoqrdgdxxfsevenmjseven rkrdlnjknine62 f3 6zzrfxdxseventhree 265one seven3lbcvjxqhhdpzkttqsixjzzjjbclfq1fiveeightwojx seightwoone8qxcfgszninesvfcnxc68 strqnb5eightbpnkcjdz6 fiveninebtpbpjqbgx2bmjrgmprnd sixgtxr2fourrdkjg fivebxsevensixone872dlx
D 2023/clojure/day01/src/part1.clj => 2023/clojure/day01/src/part1.clj +0 -37
@@ 1,37 0,0 @@ (ns part1 (:require [clojure.test :refer [deftest is run-tests]] [clojure.string :as s])) (defn is-digit? [c] (Character/isDigit c)) (defn get-digits [line] (filter is-digit? line)) (defn get-calibration-value [line] (let [digits (get-digits line) string (apply str [(first digits) (last digits)])] (Integer/valueOf string))) (defn run [input] (->> input (s/split-lines) (map get-calibration-value) (reduce + 0))) (defn -main [opts] (println (run (slurp *in*)))) ; Tests (defn -test [opts] (run-tests 'part1)) (deftest example (is (= 142 (run "1abc2 pqr3stu8vwx a1b2c3d4e5f treb7uchet"))))
D 2023/clojure/day01/src/part2.clj => 2023/clojure/day01/src/part2.clj +0 -52
@@ 1,52 0,0 @@ (ns part2 (:require [clojure.test :refer [deftest is run-tests]] [clojure.string :as s])) (defn get-digits ([line] (get-digits line [])) ([line digits] (if (empty? line) digits (recur (subs line 1) (cond (Character/isDigit (first line)) (conj digits (first line)) (s/starts-with? line "one") (conj digits \1) (s/starts-with? line "two") (conj digits \2) (s/starts-with? line "three") (conj digits \3) (s/starts-with? line "four") (conj digits \4) (s/starts-with? line "five") (conj digits \5) (s/starts-with? line "six") (conj digits \6) (s/starts-with? line "seven") (conj digits \7) (s/starts-with? line "eight") (conj digits \8) (s/starts-with? line "nine") (conj digits \9) (s/starts-with? line "zero") (conj digits \0) :else digits))))) (defn get-calibration-value [line] (let [digits (get-digits line) string (apply str [(first digits) (last digits)])] (Integer/valueOf string))) (defn run [input] (->> input (s/split-lines) (map get-calibration-value) (reduce + 0))) (defn -main [opts] (println (run (slurp *in*)))) ; Tests (defn -test [opts] (run-tests 'part2)) (deftest example (is (= 281 (run "two1nine eightwothree abcone2threexyz xtwone3four 4nineeightseven2 zoneight234 7pqrstsixteen"))))
D 2023/clojure/day02/input => 2023/clojure/day02/input +0 -100
@@ 1,100 0,0 @@ Game 1: 1 green, 1 blue, 1 red; 1 green, 8 red, 7 blue; 6 blue, 10 red; 4 red, 9 blue, 2 green; 1 green, 3 blue; 4 red, 1 green, 10 blue Game 2: 9 red, 7 green, 3 blue; 15 green, 2 blue, 5 red; 10 red, 3 blue, 13 green Game 3: 3 red, 1 blue, 4 green; 6 red, 3 green, 2 blue; 6 red, 16 blue, 1 green Game 4: 2 blue, 2 green, 19 red; 3 blue, 11 red, 16 green; 18 blue, 13 green, 20 red; 18 red, 12 blue, 16 green; 8 green, 16 blue, 16 red Game 5: 8 green, 1 red, 12 blue; 10 green, 6 red, 13 blue; 1 red, 3 blue, 6 green; 14 blue, 2 red, 7 green Game 6: 1 red; 1 blue; 2 green, 1 blue; 1 red, 3 blue; 1 red, 2 blue, 2 green; 1 green, 7 blue, 1 red Game 7: 2 red, 1 blue, 5 green; 5 green, 1 red; 3 red, 7 blue; 8 blue, 1 red, 4 green Game 8: 6 green, 4 blue; 10 green, 7 blue; 5 blue; 1 red, 7 blue; 11 green, 1 red Game 9: 2 green, 2 blue; 8 red, 5 blue, 6 green; 11 green, 6 blue, 8 red; 4 blue, 3 green, 8 red; 2 green, 10 red, 5 blue Game 10: 2 blue, 8 green, 2 red; 10 blue, 3 green; 12 blue, 1 green, 2 red; 9 green, 2 red; 3 green, 2 red, 5 blue Game 11: 12 red, 1 green, 1 blue; 7 green, 1 red; 2 blue, 1 red, 3 green; 15 green, 8 red Game 12: 4 red, 10 green, 4 blue; 3 red, 10 blue, 18 green; 5 red, 2 blue, 18 green; 8 blue, 16 green, 2 red Game 13: 3 green, 1 blue, 8 red; 8 blue, 2 green, 6 red; 6 blue, 3 green, 11 red; 2 red, 13 blue; 1 blue, 5 red, 2 green; 6 red Game 14: 3 blue, 15 green, 10 red; 7 green, 6 red, 6 blue; 8 red, 13 green, 4 blue; 4 green, 1 blue, 9 red; 9 red, 7 blue Game 15: 8 green, 9 blue, 4 red; 8 blue, 4 green, 4 red; 8 green, 7 blue, 10 red Game 16: 12 red, 8 blue, 2 green; 4 green, 10 red, 4 blue; 9 green, 4 blue, 5 red; 7 red, 1 blue Game 17: 1 blue, 4 red, 6 green; 1 blue; 6 red, 8 blue, 10 green; 2 blue, 2 red, 3 green; 8 green, 14 red, 6 blue Game 18: 5 blue, 1 green, 5 red; 1 green, 11 blue; 3 green, 18 red, 8 blue Game 19: 2 blue, 2 red, 16 green; 5 blue, 2 red, 17 green; 10 green, 6 blue; 2 blue, 11 green; 15 green, 3 blue, 5 red; 18 green, 8 red Game 20: 7 red, 6 green, 3 blue; 7 red, 16 green; 1 blue, 6 green; 1 green, 7 red Game 21: 10 red, 10 blue; 16 green, 4 blue, 7 red; 2 red, 9 blue, 11 green Game 22: 12 green, 7 red, 2 blue; 6 blue, 3 red, 10 green; 11 red, 12 green, 3 blue; 8 red, 3 green, 3 blue; 3 red, 4 green, 7 blue Game 23: 7 red, 9 blue; 5 red, 1 green, 4 blue; 8 green, 9 blue, 10 red; 8 green, 9 red, 11 blue Game 24: 4 blue, 2 red, 15 green; 1 green, 4 blue; 7 green, 2 blue Game 25: 12 red, 12 green; 11 red, 5 blue, 15 green; 15 green, 5 red, 3 blue; 15 green, 6 blue, 10 red; 3 blue, 1 green, 5 red Game 26: 7 red, 18 green, 6 blue; 3 red, 2 green, 7 blue; 1 red, 1 green, 1 blue; 16 green, 5 red, 2 blue; 5 blue, 4 red; 12 red, 2 blue Game 27: 1 blue, 5 red, 5 green; 11 blue, 7 red, 5 green; 8 blue, 7 green, 4 red; 3 green, 3 blue; 14 green, 1 blue Game 28: 12 green, 1 red, 1 blue; 17 green, 1 red, 1 blue; 1 red, 1 blue, 15 green Game 29: 15 green, 10 blue; 6 green, 5 blue, 2 red; 19 green, 5 blue Game 30: 10 red, 13 green, 2 blue; 5 blue, 14 green, 1 red; 9 green, 14 red, 3 blue; 14 blue, 14 green, 17 red; 15 blue, 9 green, 16 red Game 31: 6 green, 1 blue, 8 red; 12 red, 8 green; 5 red, 8 green; 9 green, 11 red Game 32: 6 red, 7 green; 12 green, 1 blue, 2 red; 2 red, 3 green; 4 red, 13 green; 7 red, 9 green Game 33: 3 red, 7 blue, 10 green; 4 blue, 3 red, 15 green; 6 red, 7 blue, 18 green; 5 red, 10 green, 10 blue; 2 blue, 6 red, 10 green; 7 blue, 3 green, 6 red Game 34: 1 red, 6 blue, 3 green; 2 green, 13 blue, 2 red; 2 red, 7 green, 5 blue; 4 red, 2 blue, 5 green; 3 red, 4 blue, 3 green Game 35: 3 red, 4 blue; 3 green, 6 red, 2 blue; 8 green, 4 blue, 3 red; 11 red, 4 blue, 3 green; 5 green, 1 blue, 6 red; 8 red, 7 green Game 36: 2 blue, 8 red, 2 green; 11 green, 14 red; 14 red, 1 green; 7 green, 2 blue, 11 red Game 37: 2 green, 10 red; 1 green, 5 red; 5 red, 11 green; 1 blue, 11 green, 2 red Game 38: 11 red, 1 green, 11 blue; 9 red, 1 green; 5 red, 2 blue, 1 green; 2 red, 6 blue Game 39: 3 red; 2 green, 18 red, 2 blue; 2 green; 6 red, 2 green; 12 red; 3 green, 11 red Game 40: 3 blue, 4 red; 2 red; 7 red, 1 green, 2 blue; 1 green, 1 blue; 5 green; 2 green, 2 red, 1 blue Game 41: 5 green, 3 blue, 10 red; 6 green, 3 blue, 12 red; 2 blue, 5 green, 7 red; 2 blue, 3 green, 2 red Game 42: 11 green, 1 red; 6 green, 4 red; 4 red, 4 blue, 7 green; 11 green, 5 red, 5 blue Game 43: 1 blue; 6 green, 16 blue; 7 green, 1 red; 2 red, 15 green, 7 blue; 2 red, 16 green, 3 blue; 3 red, 14 blue Game 44: 3 green, 1 red, 5 blue; 9 blue, 1 red; 14 blue; 7 blue, 1 green, 2 red Game 45: 1 blue, 1 red; 1 blue, 1 red; 3 green, 1 red; 1 green, 1 blue Game 46: 1 green, 8 red, 2 blue; 13 blue, 7 red, 2 green; 3 red, 4 blue; 2 green, 18 blue, 5 red; 4 red, 5 green, 9 blue; 3 red, 7 blue, 1 green Game 47: 8 blue, 1 red, 8 green; 2 red, 6 green, 1 blue; 2 green, 6 blue, 5 red; 6 blue, 6 red, 6 green; 6 green, 9 blue, 7 red Game 48: 5 blue, 14 green, 8 red; 7 blue, 10 green, 7 red; 9 green, 9 blue, 6 red; 9 green, 5 blue, 17 red Game 49: 10 green, 6 blue, 2 red; 3 blue, 5 green, 4 red; 8 red, 8 blue, 11 green; 5 red, 6 green, 5 blue Game 50: 3 red, 2 green; 1 red, 8 blue; 2 red, 2 green, 3 blue Game 51: 4 green, 8 red; 8 red, 5 blue, 13 green; 3 red, 11 blue, 14 green; 5 blue, 11 green, 3 red; 5 red, 9 blue, 11 green; 6 green, 4 red, 12 blue Game 52: 2 green, 1 red, 1 blue; 3 blue, 2 green, 2 red; 1 green, 3 blue, 4 red; 2 blue; 8 red, 2 blue Game 53: 18 blue, 4 green, 9 red; 6 blue, 9 green; 14 blue, 9 green, 9 red Game 54: 2 red, 7 blue, 3 green; 6 green, 3 red, 2 blue; 1 blue, 3 green, 3 red; 2 green, 4 red, 9 blue Game 55: 3 green, 6 blue; 6 green, 8 blue, 6 red; 5 green, 3 red; 4 blue, 8 green, 1 red; 1 red, 2 blue Game 56: 4 green; 2 blue, 4 green, 1 red; 3 blue, 6 green Game 57: 15 red, 3 green; 15 red, 1 blue, 2 green; 15 red, 1 green Game 58: 1 red, 5 blue; 5 green; 6 green, 8 blue, 2 red; 1 red, 6 blue, 6 green Game 59: 3 green, 8 blue, 5 red; 1 green, 12 blue, 4 red; 2 green, 18 blue; 2 red, 4 green; 16 blue, 3 red, 1 green Game 60: 7 green, 6 blue, 2 red; 6 blue, 2 red, 4 green; 11 green, 5 blue; 4 green, 4 blue, 3 red; 2 red, 7 green, 8 blue; 6 green, 4 red, 1 blue Game 61: 6 green, 6 red; 1 green, 3 blue; 6 green, 1 red, 7 blue; 5 red, 19 green, 7 blue Game 62: 3 red, 4 green; 2 red, 4 blue; 1 red, 13 blue, 5 green Game 63: 2 red, 13 green, 4 blue; 10 green, 5 red, 10 blue; 13 blue, 6 red, 3 green Game 64: 5 blue, 2 green; 1 blue, 1 red, 6 green; 3 blue, 11 green; 2 blue, 8 green, 1 red Game 65: 4 red, 5 green, 2 blue; 2 blue, 4 red, 1 green; 3 red, 5 green, 4 blue; 6 red, 3 blue; 3 blue, 2 green, 5 red; 2 green, 3 red Game 66: 14 red, 17 green, 1 blue; 2 red, 12 green, 2 blue; 1 blue, 4 green, 14 red Game 67: 7 green, 4 red, 10 blue; 11 blue, 4 green; 7 green, 2 red, 3 blue; 11 blue, 3 red, 9 green Game 68: 5 blue, 4 red; 10 blue, 8 green, 5 red; 1 green, 1 red, 10 blue Game 69: 1 red, 15 blue, 2 green; 16 blue, 15 green; 1 red, 15 green, 14 blue; 2 red, 5 green, 11 blue; 5 green, 1 red, 13 blue; 2 blue, 16 green Game 70: 1 red, 2 blue, 9 green; 2 green, 1 red; 7 green, 4 blue Game 71: 5 blue, 1 green; 2 green, 5 blue; 2 blue, 1 red, 1 green; 1 red, 5 blue; 1 red Game 72: 5 green, 5 blue; 8 green, 3 red; 7 blue, 8 green Game 73: 1 green, 4 red, 3 blue; 5 green, 5 blue, 3 red; 8 blue, 7 green, 1 red; 3 blue, 3 red, 9 green; 13 green, 2 red, 10 blue Game 74: 2 red, 4 green, 5 blue; 3 blue, 6 green, 4 red; 2 blue, 6 green, 5 red Game 75: 10 red, 20 green, 14 blue; 9 blue, 15 green, 17 red; 8 green, 18 blue, 6 red Game 76: 7 green, 1 red, 9 blue; 1 green, 3 red; 3 red, 3 green; 4 blue, 20 red, 9 green; 12 red, 7 blue Game 77: 1 blue, 9 green, 7 red; 5 green, 7 red; 4 red, 1 green, 1 blue; 6 green, 3 red, 3 blue; 3 blue, 5 green, 18 red Game 78: 11 red, 4 green, 4 blue; 12 red, 3 green, 4 blue; 11 red, 4 green, 13 blue; 8 red, 5 blue, 6 green Game 79: 1 blue, 16 red; 9 red, 2 green, 2 blue; 2 blue, 12 red; 3 green, 12 red Game 80: 2 blue, 3 green, 5 red; 5 red, 8 blue, 3 green; 10 blue, 8 red, 8 green; 5 blue, 4 red Game 81: 1 green, 3 red; 6 blue; 6 red, 1 green, 8 blue; 1 green, 8 blue Game 82: 4 blue, 2 red; 7 blue, 10 green, 3 red; 7 green, 1 red Game 83: 12 blue, 9 green; 10 green, 7 blue; 7 green, 1 red, 12 blue; 5 green, 12 blue Game 84: 1 green, 2 blue, 1 red; 2 green, 9 red; 14 red, 1 blue, 2 green; 2 green, 9 red; 4 blue, 2 green, 9 red Game 85: 1 blue, 8 red, 8 green; 1 green, 4 red, 4 blue; 8 red, 7 green, 18 blue; 5 green, 3 red, 15 blue; 11 blue, 1 red, 4 green; 4 green, 3 red, 1 blue Game 86: 14 green, 11 red, 14 blue; 9 green, 14 blue; 12 red, 4 green, 13 blue; 14 green, 9 blue, 2 red; 5 red, 17 green, 1 blue Game 87: 3 red, 3 green, 7 blue; 3 green, 2 red, 20 blue; 12 green, 9 blue; 3 blue, 3 red, 8 green; 12 green, 9 blue, 2 red Game 88: 4 green, 1 red, 4 blue; 1 green, 3 red, 1 blue; 2 green, 3 blue, 3 red; 5 green, 1 blue Game 89: 8 blue, 1 red; 4 red, 6 blue, 1 green; 12 blue, 3 red; 1 red, 4 blue; 3 red, 5 blue, 1 green; 7 red, 7 blue Game 90: 3 red, 2 green; 4 blue, 13 red; 1 blue, 7 red Game 91: 8 blue, 2 red, 9 green; 5 blue, 17 green; 2 green, 7 blue, 1 red; 8 blue, 11 green, 3 red; 2 red, 5 blue, 1 green Game 92: 8 red, 11 blue; 7 green, 9 blue, 2 red; 6 red, 3 green, 3 blue; 4 green, 8 blue, 2 red; 9 blue, 12 green, 8 red; 6 red, 14 blue Game 93: 4 blue, 1 red, 3 green; 7 green, 1 red, 3 blue; 6 green, 1 red, 3 blue; 3 blue, 10 green, 1 red; 3 blue, 7 green Game 94: 11 red, 13 green, 3 blue; 4 green, 15 red, 5 blue; 1 red, 7 green Game 95: 4 green, 10 blue, 6 red; 4 green, 9 blue; 8 blue, 9 red, 5 green; 7 green, 12 blue; 12 blue, 8 green, 3 red; 2 green, 5 red Game 96: 2 red, 2 green, 1 blue; 1 red, 4 green; 1 green Game 97: 4 red, 5 green; 5 blue, 3 red; 8 blue, 2 green, 1 red Game 98: 1 blue; 2 green, 1 red; 5 red, 2 green; 4 red, 1 green; 2 red, 2 green, 2 blue Game 99: 6 blue, 5 red, 2 green; 9 red, 1 blue; 2 green, 2 red, 5 blue; 10 blue, 2 green; 11 blue, 1 green, 4 red Game 100: 1 blue, 13 green, 14 red; 11 green, 11 blue, 7 red; 2 red, 1 blue, 2 green; 10 blue, 15 red
D 2023/clojure/day02/src/part1.clj => 2023/clojure/day02/src/part1.clj +0 -53
@@ 1,53 0,0 @@ (ns part1 (:require [clojure.test :refer [deftest is run-tests]] [clojure.string :as s])) (defn parse-cube-set-color [cube-set-color] (let [[n color] (s/split (s/trim cube-set-color) #" ")] {color (Integer/valueOf n)})) (defn parse-cube-set [cube-set] (->> (s/split cube-set #",") (map parse-cube-set-color) (reduce merge))) (defn parse-game [line] (let [[_ raw-game-id rest] (re-matches #"^Game (\d+): (.+)$" line) cube-sets (map parse-cube-set (s/split rest #";"))] {:game-id (Integer/valueOf raw-game-id) :cube-sets cube-sets})) (defn cube-set-possible? [cube-sets] (->> cube-sets (map #(and (<= (get % "red" 0) 12) (<= (get % "green" 0) 13) (<= (get % "blue" 0) 14))) (every? true?))) (defn run [input] (->> input (s/split-lines) (map parse-game) (filter #(cube-set-possible? (:cube-sets %))) (map :game-id) (reduce +))) (defn -main [opts] (println (run (slurp *in*)))) ; Tests (defn -test [opts] (run-tests 'part1)) (deftest example (is (= 8 (run "Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green Game 2: 1 blue, 2 green; 3 green, 4 blue, 1 red; 1 green, 1 blue Game 3: 8 green, 6 blue, 20 red; 5 blue, 4 red, 13 green; 5 green, 1 red Game 4: 1 green, 3 red, 6 blue; 3 green, 6 red; 3 green, 15 blue, 14 red Game 5: 6 red, 1 blue, 3 green; 2 blue, 1 red, 2 green"))))
D 2023/clojure/day02/src/part2.clj => 2023/clojure/day02/src/part2.clj +0 -50
@@ 1,50 0,0 @@ (ns part2 (:require [clojure.test :refer [deftest is run-tests]] [clojure.string :as s])) (defn parse-cube-set-color [cube-set-color] (let [[n color] (s/split (s/trim cube-set-color) #" ")] {color (Integer/valueOf n)})) (defn parse-cube-set [cube-set] (->> (s/split cube-set #",") (map parse-cube-set-color) (reduce merge))) (defn parse-game [line] (let [[_ raw-game-id rest] (re-matches #"^Game (\d+): (.+)$" line) cube-sets (map parse-cube-set (s/split rest #";"))] {:game-id (Integer/valueOf raw-game-id) :cube-sets cube-sets})) (defn fewest-needed [cube-sets] (reduce (fn [acc cube-set] (merge-with max acc cube-set)) {} cube-sets)) (defn run [input] (->> input (s/split-lines) (map parse-game) (map :cube-sets) (map fewest-needed) (map vals) (map (partial apply *)) (reduce +))) (defn -main [opts] (println (run (slurp *in*)))) ; Tests (defn -test [opts] (run-tests 'part2)) (deftest example (is (= 2286 (run "Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green Game 2: 1 blue, 2 green; 3 green, 4 blue, 1 red; 1 green, 1 blue Game 3: 8 green, 6 blue, 20 red; 5 blue, 4 red, 13 green; 5 green, 1 red Game 4: 1 green, 3 red, 6 blue; 3 green, 6 red; 3 green, 15 blue, 14 red Game 5: 6 red, 1 blue, 3 green; 2 blue, 1 red, 2 green"))))
M README.md => README.md +15 -0
@@ 54,6 54,21 @@ $ zig test part1.zig --test-cmd 'gdb' --test-cmd '--args' --test-cmd-bin --test- ### Clojure To run, you can use either of these patterns: ```sh $ clj -M -m day01.part1 src/day01/input $ cat src/day01/input | clj -M -m day01.part1 ``` To test: ```sh $ clj -X day01.part1/-test ``` #### Instructions pre-2023: To run `src/part1.clj`: ```sh