diff --git a/day06/input.txt b/day06/input.txt new file mode 100644 index 0000000..c223f71 --- /dev/null +++ b/day06/input.txt @@ -0,0 +1,572 @@ +drhqjkbv +dtmukohn +pblnptvr +rggqrqre +ihknljci +ncoeigib +qbmbrgzv +zfahdmvg +mblaahfc +irafzbak +wghpbuwg +pyijzopp +dxpqsjkd +nhrosahg +ekfkwiqi +khgwbxsz +fkkinvci +xlmjkxql +rvzsdcve +josyoqlp +wnyzmbhh +bvkkwyxp +zdnlhnlv +hbgmztkb +yugdjalz +ittbvkxm +pbnxevdt +fptnvjdb +dsypeozk +gcjmtlcc +pqsnuztm +meilciol +uolptcbc +jueofzif +mryrumjt +jxmdacbz +plraftrm +ljgrwfiz +ligncqig +hrcmfkwa +kraqruef +mawxovke +fgwermvq +ipfzrpoz +rhfgebjy +ltqkdjag +dvgdhywz +ojnzjack +ktnqjzlc +uvcyfogs +anqjxrbb +rqedwxhi +iliuzgff +lanioopk +kbcwlndi +wuzfguwq +oclgdxdn +euqmnjxb +rwgdgwac +gepgmuuw +xmsfhugr +cmmgvoza +mrdnpirq +muorgsxa +awdmmpth +abwkhkot +hlztzuhm +qwbxfktf +gkdslbhk +rqppdpfj +juuuxmwh +sprwgdoi +eptrqcap +fdtoubid +lnkxrjrr +yxxiuuzb +kcbgcuno +ssszanxv +xajngqze +dqprwcbs +tmehzhsh +eeooqhko +eacbmenw +qpbwiznc +hoofmvah +noicaaqv +reqwbpnl +ctfbzydf +kkjvsvob +pwkramtw +txsebrtx +wpxomtjx +xwcxfihp +iabaswyj +ubvgfrsw +yhxvrlwg +kyighkhi +kfmcjeci +wtxvnufi +eggyqgwj +azywqbdk +egwprvgp +gxtgzqek +hbypquhd +oqbpykib +bsaybmgo +ctzhjzgf +uqcatiea +fkquufln +mzuepzcn +rwteqddf +uandcifd +chqjvavf +xrugbecb +bynqmlhg +keruzmmy +tpxbrwkw +czawkslt +duunzdgl +mhhrgsfi +lhiorqvn +uroxbpki +uyqvmdvr +wbvzxinc +hvjbywqh +opztxiye +jnkvbsss +awfhhjuh +wldwnsms +vzdtdfzz +qcgjdsxf +ncungtbd +bsfmblxe +iztafyde +omxfacnb +bfjgzohh +idowhvnt +etxcropc +dlebejbz +dpgrvvyg +yyetaiyd +zmvvslxw +iolevdzw +pwrbpwyt +ncxnbdcs +bizuessl +csomkqnr +gukypdxo +zzazkgze +mhygipbc +nidnvzql +oblusiue +rnuvqhpy +ybeycdic +sbzmvzxq +gvvqcrug +zkdknqod +zkztprqv +xlprotcp +sndzhrmt +cntdipcw +siiqfres +pnfcbzjo +twbgdnrv +zzxnngor +nmcmxqgt +jayxwvrm +pahclzsw +ztddtnyo +odidwauv +tzlaantg +nttefszm +jahhbgpt +pvxsgjsl +gewlnlqm +bykgsqzo +zqrrhrkl +isxyqlbv +wfzkqgvt +mcwizlzj +ugtgyrez +qfyzoall +cfyqxoyx +vdszizjm +bgrcpovm +einnyfdv +uugncaps +letylmon +ocltwlem +owfskawk +hvripclk +jmgrulzy +kjxyhhle +ionkwbuu +tmjsudwf +kxocxtoa +ejbuoost +nzqdzsdd +dkuiiisp +dxwhxbvj +ghipctmd +mwmcfifl +vfptvuxo +zfqsjsbx +peazobjt +nlwomnpb +ndxbvgqn +zonnhffl +vjnyiejx +ghrcsxgl +fsdiwdmy +jmhtpgis +sscjmpev +oivfuctm +zwtllrfo +uuzpmnjx +wgpccyiu +ujhilevq +hjjieaag +dfbfylpe +ypegnmyg +vjnjrgcu +enylcycn +ptlneeqo +nfiplyjo +dxcrmicb +vdxohgvl +iycioixk +rwqrjyyu +rfatusnv +mnyvdlhu +piyhcljq +edcykiom +wrtwvqub +ejtepubt +vegruhiu +qmrlbprr +wntjsebz +hkdkuasw +jxkfblck +knrwttyx +pmjitnry +lrtbermt +qkhtmeoe +skmqdpek +fmxlqqhn +ureaitwq +qufcyfph +wcidvwgt +ybkrmqem +qhuacrls +yvnsqqdb +xpjchodx +lcwzkemd +jokzbvsi +jjbklvqq +xfswceep +xsjwsymu +slmsyksa +oaquyavd +zxteczie +yglonpuu +rdfvsbno +wgxhuxga +kvpetmdr +fjeoobow +atdqjabp +prjazwst +yqkisdog +wvswvdtm +iogvloma +srxeqnqq +ipjfezkx +joonxwtz +yjovntqa +svbbkcvw +mgyseuqr +dxflpkvp +gqbiytmk +siccxtsn +oepstegr +uwjjhhqb +eosfjfhv +dsaqqhda +vudzwxak +njzjiowv +anfpqwsz +geuqffcr +vhhbkgeb +flkqpzbn +fgtdspvd +yjhxwcps +aimfdnpv +hhvklxlo +yjoxsxhj +bllophbc +ntclfhgs +gtnsuqdp +dazhoeap +klczitkw +tlkedeuy +cvbuidmk +vjubfgqg +qimvfpxg +hnqegigv +cppyezxe +czcmiytj +ypvezoca +adjxiooc +mdshbmjd +urthwyqf +dhoijcrh +vxnnyszn +ttzkydfs +lhnbywji +tyiuyhxa +fyryagxi +hboupxaq +urctvbue +cirtbbfu +bkoxlmkm +rdeoosjs +qemhixen +zqfioppk +vopwlhhe +gmpihxop +aamsrrzs +sdyssprk +hmrqkghm +oevtvzwl +bqufyyuu +ennrxvaf +slmshjpz +qgraeety +mczjxfan +wzwmupvu +sqbkhwxg +abbotwty +trafaoli +bkuarvfz +wuffaong +fqevpper +eekwoblz +spsztgee +yjfbfeif +qcjdtsez +omujkwzt +vjpfndxp +hkpxvjix +eiigrazh +jmtdqwuu +jnsfvufm +xhkdzgjf +rvqigugc +bivqnzgu +ydadmvyq +ghsohaqa +eulugttl +nvhaafrh +ikdtvxpu +fbmztykr +gmhluyfq +biovnlho +xinmgiwl +xsvlnvnr +gryuussb +eeqmavbo +fuftdkgb +wwmwybtx +txshabuj +ewxcrjmj +lskdajks +pabjhzen +xzfmdhaj +gojxghyk +iyqaryra +bnlovokf +mehlaadw +tzqhtnhv +kgacrpdt +qxawodku +fcrouumv +yzqxkmgi +xzspfhmp +omhlnexu +olstosyp +gxslgwcn +juamcglq +irdvybpr +ncsacfpd +hczoulhg +kqjpowtq +bzefqjnj +qnrtwygz +rztxjfyr +lcpxloro +gdibhhkc +qgwuyhea +uweyjukp +hsljwmyy +ayhxycnx +klzvtttr +lgdmpcww +cqvtjkyw +rfyjuybh +tskdjzrt +mhwspcvf +xplpnemj +lrjvgjgs +crllldzy +ikczhybc +oolwtfoj +pqfgligu +cdgktmmx +jbpatjkl +keqepeax +qfirnsdi +juyzjarn +tuymbnri +jijsmffx +xfnbxvzo +oxmscdkf +hkfcgeuv +mkkuxffi +vjmccxrb +wrpagtbd +wcnmlred +pafkwcph +tcvjkxyl +stvhdkom +cfzhzuif +avdzxwyd +wdoyqfpy +gtolniag +nvznsjsi +cabyykqf +bxfoznta +mobkmnwc +sauywroh +xexkiuyy +oyevexto +vqegjclw +xoifoyic +rshyscwd +hvreaslo +negmieaw +dmfggrux +yxmknfpx +ttyuarnj +tiwewqnv +fgmplqux +fsdeavfu +uvqczvae +dydssjnh +ihlykqnj +xygdlwae +usyabtdd +yqikfwvv +nvqrjqzh +rexbjqsu +nzerccmq +apzjtxxq +dgnykfrj +izahycnb +ruubddeh +xkrbsmak +eooaoaxz +alwnxxey +rpxrikkc +syafkuqf +fqwavgfy +jlrielnd +ylmuftje +jigqlhyu +fdbusljj +ltsvqjss +ryzsnxja +sdvtoolp +ttvfgkan +zzbzmsdh +oneyivvm +lmkooris +qbwaumyc +upooekoi +oaplwhwf +zvvsffan +hjujkmzt +ksocowvu +xmaxctph +uohgaowz +wyiqttrj +apdmkleo +ngirmkie +zdmekxlr +zghwmffq +kkwtxmht +aopxxxla +cwaxcndp +mchejzuf +qiisajma +paqlvgwk +neepulbv +locpxcge +zqihibab +mpwwkcnc +acltdkmx +tsveirfy +oyqnektx +roljqjyy +tppfxdlm +pdkdgzbj +hqohdklw +ffaqesqq +cluhwwfj +bfwsfqjl +yxeforet +auhwgphh +wqeumebp +stagigac +typntncz +hdlxeizg +daaredsw +tbgzwdkl +jnncvszy +vzzojziz +uhuiphch +sflgjnmx +zjcebfsa +psvusroj +isyddacs +qjnifltk +lxsjtnwd +gfrahlus +vvzirpuo +zxscyfrr +asdpeiwa +hzrjpvlj +lubqxhin +kauqzmng +vlchbkuk +baivdnom +cuwbwhml +inwmiyfq +ywvdnsqq +sohppxig +vnvqqmjy +aaekdkci +byyylakp +vwctbbrq +pguveyxu +ccbkkuqw +qmtotaum +bbghdbpn +miuprwir +lkjlnmus +zhvpqpwz +xtxzqnix +lxckscjy +lkvlzrta +feoujqdq +myecxjgd +dwkmzbor +gfdlcijs +abwlgpdc +vwspenjl +cigbugvr +ugjalecy +klbkpbsg +qraxrapw +vyjcmvmy +ffhvruro +eluiytkn diff --git a/day06/part1.js b/day06/part1.js new file mode 100644 index 0000000..9c98317 --- /dev/null +++ b/day06/part1.js @@ -0,0 +1,6 @@ +var input = require("fs").readFileSync("input.txt").toString().replace(/\r/g, ""); +var groups = input.split("\n").reduce((a, b)=>{b.split("").forEach((x, i)=>{if(!a[i]){a[i] = [];} a[i].push(x);}); return a;}, []); +var freqs = groups.map((g)=>(g.reduce((a, b)=>{if(!a[b]){a[b] = 0;}; a[b]++; return a;}, {}))); +var largest = freqs.map((f)=>(Object.keys(f).map((l)=>[l, f[l]]))).map((f)=>(f.sort((a, b)=>(b[1] - a[1])))).map((a)=>(a[0][0])); +var key = largest.join(""); +console.log(key); diff --git a/day06/part2.js b/day06/part2.js new file mode 100644 index 0000000..b91f6bc --- /dev/null +++ b/day06/part2.js @@ -0,0 +1,6 @@ +var input = require("fs").readFileSync("input.txt").toString().replace(/\r/g, ""); +var groups = input.split("\n").reduce((a, b)=>{b.split("").forEach((x, i)=>{if(!a[i]){a[i] = [];} a[i].push(x);}); return a;}, []); +var freqs = groups.map((g)=>(g.reduce((a, b)=>{if(!a[b]){a[b] = 0;}; a[b]++; return a;}, {}))); +var largest = freqs.map((f)=>(Object.keys(f).map((l)=>[l, f[l]]))).map((f)=>(f.sort((a, b)=>(a[1] - b[1])))).map((a)=>(a[0][0])); +var key = largest.join(""); +console.log(key);