From e0be09b6d34ecbc322dac00c67b24206ad436b9f Mon Sep 17 00:00:00 2001 From: David Bandeira Date: Sun, 10 Nov 2024 17:54:07 +0100 Subject: [PATCH] 2015 / 08 --- .../helpingFunctions.cpython-311.pyc | Bin 0 -> 2733 bytes 2015/data/day08/input.day08 | 300 ++++++++++++++++++ 2015/data/day08/sample.day08 | 4 + 2015/day08.py | 21 +- 2015/helpingFunctions.py | 8 +- initScripts/makefolders.sh | 5 +- yearTemplate/helpingFunctions.py | 8 +- 7 files changed, 327 insertions(+), 19 deletions(-) create mode 100644 2015/__pycache__/helpingFunctions.cpython-311.pyc diff --git a/2015/__pycache__/helpingFunctions.cpython-311.pyc b/2015/__pycache__/helpingFunctions.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a326feb6f268994f821d0c61fbb1fb08ebfd8c90 GIT binary patch literal 2733 zcmcgtU1%Fe5Z>K8*|JV@oX9`$KxWH$pRvNs#1cOx~6PYGRq}bC4m06U@!d(&(WD%$+ zJK~NxCO6y_BMovRtTf6_pia37Xp`&$>XPX+2}(P-ad@+7Q+F}h5% zBunzJw7<#hF-SeF=*z+q2)$NXtd+jUj#Rdk9Us|layYnp_W!WB%yjg#)UtJ+c}4Lv)Ij>9Cz435)>>4pHo!X5;UD#j-@#zk$^>y zqNW%1xB2{HGOp^DTfd!}Q05g~n}}vCL5^lLJfP3#+Zzfkq>}N_Y*dxw3Xg_BsIM}K zredM9{R8Jh3-Lr+QRgQY)tIiNRIM+au_Q%?y_LBP?8y(pc6h&<0VGGZydAkKTP>Yy z$<3~Tjjn<9ZnJB!&^5UJvDr2BtaEet%Es`OpQg>>slxD-(KS_Qxn|smY_vp-mdJho zeZLV^ja2q;Leg}c{aNgG37KFQ*&jH2hy7LTVDVjcsknHF!R#`-$w2Qi`w;c8gT-5H z7DXI^!60IJ>Y`WVTc_s!6))+C^y?s z&O*k#7Mis7VymIK3|jwHPiB|^GO5?kS5gE|S#FPE@U%Q3{D6*^Q)*dKdm@#}!ZOtx z%X~<)x-;hyeEXVQmvqZ4%K);DFh^rMcrF{Mya7f*2gfpGH7S}3pyW!-5)@VE5=yyI zK;Rw}5Hs;8x0>fti@XTg8JL&h%3DyxT}B?VIA%KTqJ07cpx5d*0wehgo85yO-Gl3z z**#L|9)YDo>uByOaPwz21LrmZ=hkCp;Cvx){@H*T7&QVH;9qDR1Cc;zGcddn7&bvC zFk(pKpTBW`*_1j9Ql}wxKKJJ)w%ZP`wLX}6G_!i^;jR3X*>KyaqEE54-#|!(bKe9SRbS!i_@ASor!AYPqy%GM$KD1f;~wSy{z zm)g&~vMse=TU1pjXg($BE5_7kN1bu>(sHCZV$%oXs(3VO3#r>xH_!uY`;y**0R*I} z{nHblo!BLUBe?DK7za+7&fbEv*Kqd!`?Tu9s-FfCcC`a}4F>pJR)?}aL+#pNSBM&^ zx=gpF?1vPtTnsOHp7~O!4_oDj3 z*$GhQy}-f1X*hrsln#6$tXzEHe&jZ#<7@AmQtyx6?{7Rg_QNq#dUJi+l!gp(s0f`Z zc#w+6AHX)X5aox!e~d<{)z>ieOg$*qKD@8+zVxgDG)l?V2aYc_+0P{ogN%2=R;3v5 zlQ6d27@$cd5m%$hxKjMIq7#K0Uk(JSJh5Y2#(l?UnJ#BbT zKOgy3Gp1*LzVpi+b39UhW$btaC3wj*n#EFD@gSJpc8RmZ*;FcFr@akQj%Mu0b2M59 z);;Ga6rjaKe2j;Hi&56T1hOkoO1DUJuIBf`b13K96-9b@msE(`L67c|3TYOow4wvL gsZ>u~l(z4Z3TbelNQE?0I*i;BX<%q&Ke65a2a@w54FCWD literal 0 HcmV?d00001 diff --git a/2015/data/day08/input.day08 b/2015/data/day08/input.day08 index e69de29..51c17a7 100644 --- a/2015/data/day08/input.day08 +++ b/2015/data/day08/input.day08 @@ -0,0 +1,300 @@ +"sjdivfriyaaqa\xd2v\"k\"mpcu\"yyu\"en" +"vcqc" +"zbcwgmbpijcxu\"yins\"sfxn" +"yumngprx" +"bbdj" +"czbggabkzo\"wsnw\"voklp\"s" +"acwt" +"aqttwnsohbzian\"evtllfxwkog\"cunzw" +"ugvsgfv" +"xlnillibxg" +"kexh\"pmi" +"syvugow" +"m\"ktqnw" +"yrbajyndte\\rm" +"f\"kak\x70sn\xc4kjri" +"yxthr" +"alvumfsjni\"kohg" +"trajs\x5brom\xf1yoijaumkem\"\"tahlzs" +"\"oedr\"pwdbnnrc" +"qsmzhnx\"" +"\"msoytqimx\\tbklqz" +"mjdfcgwdshrehgs" +"\"rivyxahf\"" +"ciagc\x04bp" +"xkfc" +"xrgcripdu\x4c\xc4gszjhrvumvz\"mngbirb" +"gvmae\"yiiujoqvr\"mkxmgbbut\"u" +"ih" +"ncrqlejehs" +"mkno\x43pcfdukmemycp" +"uanzoqxkpsksbvdnkji\"feamp" +"axoufpnbx\\ao\x61pfj\"b" +"dz\\ztawzdjy" +"ihne\"enumvswypgf" +"\"dgazthrphbshdo\\vuqoiy\"" +"dlnmptzt\\zahwpylc\\b\"gmslrqysk" +"mhxznyzcp" +"rebr\"amvxw\x5fmbnfpkkeghlntavj" +"lades\x47ncgdof\"\"jmbbk" +"dwxuis\xa5wdkx\\z\"admgnoddpgkt\\zs" +"g\\k\x27qsl\x34hwfglcdxqbeclt\xca\\" +"lhyjky\\m\"pvnm\\xmynpxnlhndmahjl" +"c\"uxabbgorrpprw\"xas\\vefkxioqpt" +"rfrvjxpevcmma\x71gtfipo" +"fgh\"kcwoqwfnjgdlzfclprg\"q" +"onxnwykrba" +"hkkg\x60f\"tjzsanpvarzgkfipl" +"\"aintes\"ofq\"juiaqlqxmvpe\\a" +"wiyczzs\"ciwk" +"mfqeu" +"v\xe1z\x7ftzalmvdmncfivrax\\rjwq" +"k\"vtg" +"exhrtdugeml\xf0" +"behnchkpld" +"mhgxy\"mfcrg\xc5gnp\"\"osqhj" +"rlvjy" +"awe" +"ctwy" +"vt" +"\x54t" +"zugfmmfomz" +"cv\"cvcvfaada\x04fsuqjinbfh\xa9cq\xd2c\"d" +"oj" +"xazanf\"wbmcrn" +"\\\\zkisyjpbzandqikqjqvee" +"dpsnbzdwnxk\\v" +"sj\"tuupr\\oyoh" +"myvkgnw\x81q\xaaokt\\emgejbsyvxcl\\\xee" +"ejeuqvunjcirdkkpt\"nlns" +"twmlvwxyvfyqqzu" +"\"xwtzdp\x98qkcis\"dm\\\"ep\"xyykq" +"vvcq\\expok" +"wgukjfanjgpdjb" +"\"mjcjajnxy\\dcpc" +"wdvgnecw\\ab\x44klceduzgsvu" +"dqtqkukr\"iacngufbqkdpxlwjjt" +"\"xj\"\x66qofsqzkoah" +"nptiwwsqdep" +"gsnlxql\x30mjl" +"yeezwokjwrhelny\"" +"bjauamn\\izpmzqqasid" +"tvjdbkn\"tiziw\x82r" +"w" +"xwoakbbnjnypnaa\xa9wft\"slrmoqkl" +"vwxtnlvaaasyruykgygrvpiopzygf\"vq" +"qdancvnvmhlmpj\\isdxs" +"xzc\\elw" +"b\"wxeqvy\"qf\"g\xcaoklsucwicyw\"dovr" +"yomlvvjdbngz\"rly\"afr" +"bfb\"x\"aweuwbwmoa\x13\"t\"zhr" +"\"dmfoxb\"qvpjzzhykt\xd2\"\"ryhxi" +"psqef\"yu\\qiflie\"\x79w" +"arzewkej\"lqmh\\sayyusxxo\\" +"vuvvp" +"hc\"lg\x6bcpupsewzklai\"l" +"cjdfygc\"auorqybnuqghsh\x10" +"j" +"wqjexk\"eyq\\lbroqhk\\dqzsqk" +"dws\"ru\"dvxfiwapif\"oqwzmle" +"agcykg\\jt\\vzklqjvknoe" +"kksd\"jmslja\\z\"y\\b\xaagpyojct" +"nnpipxufvbfpoz\"jno" +"dtw" +"xlolvtahvgqkx\\dgnhj\\spsclpcxv\\" +"mxea\\mbjpi" +"lgbotkk\"zmxh\\\\qji\"jszulnjsxkqf" +"lwckmhwhx\"gmftlb\x91am" +"xxdxqyxth" +"\"lmqhwkjxmvayxy" +"tf" +"qy" +"wdqmwxdztax\"m\"\x09\x11xdxmfwxmtqgwvf" +"\xcbnazlf\"ghziknszmsrahaf" +"e\x6aupmzhxlvwympgjjpdvo\"kylfa" +"\x81vhtlillb\xactgoatva" +"dvnlgr" +"f" +"xg\xfacwizsadgeclm" +"vnnrzbtw\"\\prod\\djbyppngwayy\"" +"lrt\xf4jahwvfz" +"aqpnjtom\"ymkak\\dadfybqrso\\fwv" +"gz\"aac\"mrbk\"ktommrojraqh" +"wycamwoecsftepfnlcdkm" +"nrhddblbuzlqsl\x9cben" +"vckxhyqkmqmdseazcykrbysm" +"sil\xbbtevmt\"gvrvybui\"faw\"j" +"cjex\\tp\x45pzf" +"asjobvtxszfodgf\"ibftg" +"gkyjyjdrxdcllnh\"sjcibenrdnxv" +"oswsdpjyxpbwnqbcpl\"yrdvs\\zq" +"\"\"tyowzc\\fycbp\"jbwrbvgui" +"cbpcabqkdgzmpgcwjtrchxp" +"iyrzfh\x45gw\"fdlfpiaap\x31xqq" +"evgksznidz" +"b\\w\\" +"loufizbiy\x57aim\"bgk" +"qjfyk" +"g\"anmloghvgr\x07zwqougqhdz" +"usbbmwcxd\\bdgg" +"htitqcpczml" +"eke\\cqvpexqqk\"to\"tqmljrpn\xe6lji\"" +"g\xd2ifdsej" +"h\"sk\"haajajpagtcqnzrfqn\xe6btzo" +"wfkuffdxlvm\\cvlyzlbyunclhmpp" +"myaavh\"spue" +"hqvez\x68d\"eo\"eaioh" +"s\"qd\"oyxxcglcdnuhk" +"ilqvar" +"srh" +"puuifxrfmpc\"bvalwi\x2blu\\" +"yywlbutufzysbncw\\nqsfbhpz\"mngjq" +"zbl\\jfcuop" +"hjdouiragzvxsqkreup\\" +"qi" +"ckx\\funlj\xa7ahi" +"k" +"ufrcnh\"ajteit" +"cqv\"bgjozjj\x60x\xa8yhvmdvutchjotyuz" +"hkuiet\"oku\x8cfhumfpasl" +"\"\\sbe\x4d" +"vhknazqt" +"eyyizvzcahgflvmoowvs\\jhvygci" +"kki\x3ewcefkgtjap\"xtpxh\"lzepoqj" +"wvtk" +"\"ynet" +"zh\\obk\"otagx\x59txfzf" +"ocowhxlx\xe6zqg\x63wx\\tclkhq\\vmaze" +"w\"cf" +"qpniprnrzrnvykghqnalr" +"jctcqra\"\x05dhlydpqamorqjsijt\\xjdgt" +"sig" +"qhlbidbflwxe\"xljbwls\x20vht" +"irmrebfla\xefsg\"j" +"nep" +"hjuvsqlizeqobepf" +"guzbcdp\"obyh" +"\"mjagins\xf9tqykaxy\"" +"knvsdnmtr\"zervsb" +"hzuy" +"zza\"k\"buapb\\elm\xfeya" +"lrqar\"dfqwkaaqifig\"uixjsz" +"\"azuo\x40rmnlhhluwsbbdb\x32pk\\yu\"pbcf" +"dplkdyty" +"rfoyciebwlwphcycmguc" +"ivnmmiemhgytmlprq\\eh" +"lhkyzaaothfdhmbpsqd\\yyw" +"tnlzifupcjcaj" +"\\qiyirsdrfpmu\\\x15xusifaag" +"\\lcomf\\s" +"uramjivcirjhqcqcg" +"kkbaklbxfxikffnuhtu\xc6t\"d" +"n\xefai" +"\"toy\"bnbpevuzoc\"muywq\"gz\"grbm" +"\"muu\\wt" +"\\srby\"ee" +"erf\"gvw\"swfppf" +"pbqcgtn\"iuianhcdazfvmidn\\nslhxdf" +"uxbp" +"up\\mgrcyaegiwmjufn" +"nulscgcewj\\dvoyvhetdegzhs\"" +"masv\"k\\rzrb" +"qtx\x79d\"xdxmbxrvhj" +"fid\\otpkgjlh\"qgsvexrckqtn\xf4" +"tagzu" +"bvl\\\"noseec" +"\\xgicuuh" +"w\"a\"npemf" +"sxp" +"nsmpktic\x8awxftscdcvijjobnq\"gjd" +"uks\"\"jxvyvfezz\"aynxoev\"cuoav" +"m" +"lkvokj" +"vkfam\"yllr\"q\x92o\x4ebecnvhshhqe\\" +"efdxcjkjverw" +"lmqzadwhfdgmep\x02tzfcbgrbfekhat" +"cpbk\x9azqegbpluczssouop\x36ztpuoxsw" +"cqwoczxdd\"erdjka" +"cwvqnjgbw\\fxdlby" +"mvtm" +"lt\"bbqzpumplkg" +"ntd\xeeuwweucnuuslqfzfq" +"y\xabl\"dbebxjrlbmuoo\\\x1au" +"qjoqx\\a" +"pu\"ekdnfpmly\xbago\"" +"fjhhdy" +"arl" +"xcywisim\"bwuwf\"\"raepeawwjub" +"pbe" +"dbnqfpzyaumxtqnd\xc5dcqrkwyop" +"ojv\x40vtkwgkqepm\x8bzft\\vedrry" +"wggqkfbwqumsgajqwphjec\"mstxpwz" +"zjkbem" +"icpfqxbelxazlls" +"pvpqs\\abcmtyielugfgcv\"tjxapxqxnx" +"oqddwlvmtv\"\x39lyybylfb\"jmngnpjrdw" +"gisgbve" +"\"aglg" +"y\"\"ss\xafvhxlrjv" +"qbgqjsra" +"ihshbjgqpdcljpmdwdprwloy" +"djja\\wcdn\"svkrgpqn\"uz\"hc\x43hj" +"cbjm" +"pnn" +"pqvh\"noh" +"\"\\fdktlp" +"ncea" +"pqgzphiyy" +"\xbedovhxuipaohlcvkwtxwmpz\"ckaif\"r" +"arjuzbjowqciunfwgxtph\"vlhy\"n" +"c" +"nrpdxunulgudqzlhtae" +"iefheu\"uru\"" +"aqijysxuijud\"np\\opbichhudil\xbesum" +"pfpevmtstl\"lde\"bzr\"vspdxs" +"vparfbdjwvzsocpnzhp" +"g\x4ffxaarafrsjthq\\\xc1rw" +"ng\\rqx\\gwpzucbh\xafl" +"rw\"nf\\dna" +"jkkeahxurxla\\g\xb3czrlsyimmwcwthr" +"twaailoypu\"oas\"kpuuyedlaw\\\xb0vzt" +"hznex\\gdiqvtugi" +"imdibsunjeswhk" +"ta\\icileuzpxro\"cfmv\"mzp" +"coykr\x57luiysucfaflmilhlehmvzeiepo" +"u\x3dfh\xd4yt" +"piw\x1bz\"eowy\"vfk\"wqiekw" +"gan\"y" +"p\"bevidoazcznr\"hddxuuq\"" +"bwzucczznutbxe" +"z\"viqgyqjisior\\iecosmjbknol" +"dmlpcglcfkfsctxydjvayhymv\x3c\\gp" +"bfvkqrintbbvgfv" +"xlzntrgdck\"cprc\xadczyarbznqmuhxyuh" +"uqdxnuwioc\"kdytxq\\ig" +"xrafmucpmfi" +"vr\"hltmfrge" +"eonf\"nt\\wtcnsocs" +"j\xb7xoslyjeyjksplkqixncgkylkw" +"njw\"pefgfbez\x9axshdmplxzquqe" +"di\x58bvptfsafirpc" +"l\x1fkco" +"x" +"mprndo\"n" +"psegit" +"svbdnkkuuqs\"sqxu\"oqcyz\"aizashk" +"cwkljukxer\\\"\\nff\"esjwiyaoy" +"ilxrkgbjjxpvhdtq\"cpiuoofdnkpp" +"hlngi\"ulxep\\qohtmqnqjb\"rkgerho" +"gxws\"bcgm\"p" +"bv\"mds\\zhfusiepgrz\\b\x32fscdzz" +"l\xfampwtme\x69qvxnx\"\"\xc4jruuymjxrpsv" +"qqmxhrn" +"xziq\\\x18ybyv\x9am\"neacoqjzytertisysza" +"aqcbvlvcrzceeyx\\j\"\"x" +"yjuhhb" +"\x5em\"squulpy" +"dpbntplgmwb" +"utsgfkm\\vbftjknlktpthoeo" +"ccxjgiocmuhf\"ycnh" +"lltj\"kbbxi" \ No newline at end of file diff --git a/2015/data/day08/sample.day08 b/2015/data/day08/sample.day08 index e69de29..f99c16f 100644 --- a/2015/data/day08/sample.day08 +++ b/2015/data/day08/sample.day08 @@ -0,0 +1,4 @@ +"" +"abc" +"aaa\"aaa" +"\x27" \ No newline at end of file diff --git a/2015/day08.py b/2015/day08.py index e57c061..0ccb529 100644 --- a/2015/day08.py +++ b/2015/day08.py @@ -2,7 +2,7 @@ # Date : 20XX.12.XX # Python Code # Developer : David Bandeira - +import re import sys,time from helpingFunctions import * @@ -13,13 +13,28 @@ aocYear = identifyYear(sys.argv[0]) path = getPath2Data(aocDay,aocYear) filename = getFilename2Data(aocDay) - + +def cleanupData(dataRow): + return eval(dataRow) + +def countData(dataRow): + lengthData = len(dataRow) + lengthCleanData = len(cleanupData(dataRow)) + return lengthData-lengthCleanData + +def countEscape(dataRow): + return 2+dataRow.count('\\')+dataRow.count('"') + def taskA (data) -> int: - gameScoreA = 0 + gameScoreA=0 + for dataRow in data: + gameScoreA+=countData(dataRow) return gameScoreA def taskB (data) -> int: gameScoreB = 0 + for dataRow in data: + gameScoreB+=countEscape(dataRow) return gameScoreB def task(task: int,data) -> int: diff --git a/2015/helpingFunctions.py b/2015/helpingFunctions.py index 5d2a60b..c69cd17 100644 --- a/2015/helpingFunctions.py +++ b/2015/helpingFunctions.py @@ -31,12 +31,8 @@ def showSampleMode(): return def getPath2Data(aocDay,aocYear): - return './'+str(aocYear)+'/day'+str(aocDay)+'/' + return './'+str(aocYear)+'/data/day'+str(aocDay)+'/' def getFilename2Data(aocDay): dataFilename = 'sample.day'+str(aocDay) if ( sampleMode ) else 'input.day'+str(aocDay) - return dataFilename - -def readDataFile (path, filename): - data = '' - return data \ No newline at end of file + return dataFilename \ No newline at end of file diff --git a/initScripts/makefolders.sh b/initScripts/makefolders.sh index ec492db..f2f4981 100755 --- a/initScripts/makefolders.sh +++ b/initScripts/makefolders.sh @@ -6,10 +6,7 @@ then mkdir ${year} fi cd ${year} -if [ ! -f "helpingFuctions.py" ] -then - cp ../yearTemplate/helpingFunctions.py ./helpingFunctions.py -fi +cp ../yearTemplate/helpingFunctions.py ./helpingFunctions.py if [ ! -d "day${i}" ] then mkdir data diff --git a/yearTemplate/helpingFunctions.py b/yearTemplate/helpingFunctions.py index 5d2a60b..c69cd17 100644 --- a/yearTemplate/helpingFunctions.py +++ b/yearTemplate/helpingFunctions.py @@ -31,12 +31,8 @@ def showSampleMode(): return def getPath2Data(aocDay,aocYear): - return './'+str(aocYear)+'/day'+str(aocDay)+'/' + return './'+str(aocYear)+'/data/day'+str(aocDay)+'/' def getFilename2Data(aocDay): dataFilename = 'sample.day'+str(aocDay) if ( sampleMode ) else 'input.day'+str(aocDay) - return dataFilename - -def readDataFile (path, filename): - data = '' - return data \ No newline at end of file + return dataFilename \ No newline at end of file