From 82d0294aff2cb3efe03ab3bbbd0af95cb849326f Mon Sep 17 00:00:00 2001 From: Ben Date: Sun, 2 Dec 2018 21:16:42 +0000 Subject: [PATCH] Day 2 challenges done --- AdventOfCode2018/2ndDay/challenge1/a.exe | Bin 56582 -> 0 bytes AdventOfCode2018/2ndDay/challenge1/a.out | Bin 0 -> 19064 bytes AdventOfCode2018/2ndDay/challenge1/input.txt | 257 +++++++++++++++++- AdventOfCode2018/2ndDay/challenge1/main.cpp | 57 ++-- AdventOfCode2018/2ndDay/challenge2/a.out | Bin 0 -> 35952 bytes .../2ndDay/challenge2/challenge.txt | 15 + AdventOfCode2018/2ndDay/challenge2/input.txt | 250 +++++++++++++++++ AdventOfCode2018/2ndDay/challenge2/main.cpp | 50 ++++ 8 files changed, 594 insertions(+), 35 deletions(-) delete mode 100644 AdventOfCode2018/2ndDay/challenge1/a.exe create mode 100755 AdventOfCode2018/2ndDay/challenge1/a.out create mode 100755 AdventOfCode2018/2ndDay/challenge2/a.out create mode 100644 AdventOfCode2018/2ndDay/challenge2/challenge.txt create mode 100644 AdventOfCode2018/2ndDay/challenge2/input.txt create mode 100644 AdventOfCode2018/2ndDay/challenge2/main.cpp diff --git a/AdventOfCode2018/2ndDay/challenge1/a.exe b/AdventOfCode2018/2ndDay/challenge1/a.exe deleted file mode 100644 index c4df43f12fd131b832d209628d3ceaff1cbc1343..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56582 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 diff --git a/AdventOfCode2018/2ndDay/challenge1/a.out b/AdventOfCode2018/2ndDay/challenge1/a.out new file mode 100755 index 0000000000000000000000000000000000000000..f070164d8c2eb05f9e6a3cb0bde4910042e4ed41 GIT binary patch literal 19064 zcmeHPe{@^beZR8e#E?WbkkAm;My1dtgeZ1?I;A0!a zPPVLJ4isU`GN4;%*E2J^9=bnA0Ut6drI?*;jd{qhU_6h(sL`>*^0wZ)F_dWWGs^> zvR(Vnkm65eX-~X!)rzG((Iq|cM0#M!K>eyEt5yV3$-pw%Z?aFa8#ZqtaY5nLrX+uk zrV&5caNFTX_`@f^H8k_a6Yrkg9Jur7cSv?VK4e4n>-S}yXjG2HUg@2CaMpT-P5mAM z>B^~O;e+8)^do4f6#W4gdWVah%UtAZFi@rJzvN|_g}wlG{P+}?pS#F=T>MG8$lv4=PnviB;zohr>_UIorQJ@*mx|jb(e8C6 z?9&9l0yB0jsF*bv4_UBIQg$@5crmSwRl>4%^d=Kl$`1G2mL;s_j!jlH)*ssuPua2l zj!o-(l8IPHxU(mwc%?aaY;F%XM~ucgW0$ai*!A&b%IXZKVk?>xaXU{>_N0u~rndHE zyJbMI-Cn&TW@Ev|nj`IYU0tL*+;7?a;kccGHEGgl17kTX#UmD6>W_tcn>(zITFYo( zZMC7L)s__*7^thOTc(5{6Hn}DZeL-wue3VqECUT$I|c@x|Zok+zNP%MoaFenl)1?J3oBXQz{eonA$%?%lpv+h}-& z(x$P3GkUBzyj{Ab5;j~%_JWmPHW>Li;WmOL+)y(jK4A39`1Pckr_P#Ev5RzIx~#Mi zd=>XdGHt6cew@Cek8K+-7VsG< z4+brexN_~64X7LntnOa5uuV&l=aZfxEwc28-bZ<<68R7LG83$sRawk(}Nedc*OA*sy-RwLDNOHncQ1thbg0mIYRd^;@@w8k()Tz;Z?2 zx)mZTob|x6I&3`^*pk$z0#{tG{Hu_ZO8HIKRidgp2$Ccz5B?^wm+?N@`q|wxN%9sY zCi&A*XMTEq{4%=JY0C4-#)aFue|Y+C+~!q^HmzeXdIYyfUa?K%zj^i#u>)6#xYpP`45ec#3Ofw^jX9WA2srac-|e3obYrFDu<_Y{0DL6l<-x^_hh9(U07Ex4qg zbkMaclAd+Yua*?`HR+&#!a+alpkL#l9||gjV(D|x`T9cl&euBV^MVSQ0l=3YqWFXK zEd2NWFszx*(1ERDB>09}OiIXo| zgQ`mMm*=TMYqigC9dOXA9rF7ebehv#9tf%$`Ew-`0S^Qf zLiDRtRem1~Dun2CZ_8yQsA@!?$HX!$N5CZl=HQtsbExviONB7+8?!5N$IQW_RY&sD zxs`8%mAl~-zN;4mQ6s#Y_!B2{C^!5Q;j{%z9FzEKgjWzgCh@-^oR<8=sKj3&oVL7) z5s5!bI4%8&0}}sB!fDA*?34JP5l+*2qEF&~LO3n)iR}{q8sW6GCt4-`2;sD(CxQ}x zkZ@Yc6SWfmUBYPzPxvLihj3cD6Eza=C!Dsx2_f;FgjW+jc^-rtItizxJ8@FtcMwin z^~5oW_XmXNIsjajy8md-yn2_JdD9#`HQCzHGFIM7A@DU9m{{bVUp;Tnfq_bGpelE=OSZ%M`_{gUc0_vV7ISdzGj!-+W`1JNGKbba0+s9%^f=p% zuNNzyfShL=>oJ`8Eiku02NTI}X7*+?=~FKnx$wTdxjkR*88^<7v*x%lDdCWjH8bPc zpMR9gnQM&6>PN=*kJ*dOp)Hf9WW7$@ZzGJ=&xm>>SN$0ArwtlsJ?5Y>={bFP$T)km zaVkCI5KXw#S5!Y^W> zRVuSp*_ppPN9|~aF=A#U^>s-#Mh??DAydzy&zU3UFiDJO$HCrzf;xW2b3u7bD?hH3 z#}3n?BJsVf42kjVgHpMA|0WE~ppo@VG@>$OoT+}=$WjycaSy}Njt;?ib{Wvj@za~l z3x2Ev>GT{$khTLv!1QvOnO|t;^e-r)$H|jX;@o?bM&izGdSC|6V3K^_%%n##W%pxQ zVglFSgpu)*ux$D*(%mnuZg~qK8G~deNrF6El0icKO6vBDX6B9TYN?B1t^DXlk^}Ka z*%!zW(uU|RRhO2ZMP1I7(~BKF>i|{v%#dP_l8Wj_ma2nCP2CC1^qS1xbD8wn!M*1^ z>1FrsJ)6s62`xfbeuuj90Lc%}y=^h|Zspw|!LuRh*?4v)mn8QmZ0oz*^(bB8RF8>gX zKL3%|zP9c}^#ak7`LHGPeq-jXP;SmYn}bI@=9(X;|DE>sJGX_t6xtTLD`a5}3)<=B zHK1VE2eDkr5hzEX9D#BK$`L3>pd5j61pZG(z(c2WP04g3`Z>RdC;HNMz#g#iq<5|N z<|ukh56)GSx!fpV{oA?RaX=GrAK;RAayk0l>3e{!fNk&Qasz;$crTY50o)Ea2ABq< z=f4L4PXf;ZE~F}eC8ff~=Xvu0Es@XV+oI{o%PhPH7ZoiC;3g}5FPB;Wd0 zE?0{-gs-N_H}5y9XWmn_Ppq4N^Nq`|zmANMJ|45hR@kK{LN28HC4Bax5Aysi54i@Ne21 zK-h*k==DD2k#Ns2E7%3b-|xmu#@~*F4qi^yse7HygxUAe-M0m zUd(N^Dt(GU3-}}8ZzKH%U(N4T7`}NAdkvp|c$(o`_)w+ktG$1^>8l@{vB4MI>8lU< zYD2z-4L*N^Zyw|ud{y#X{xR4&1Umrv0?c2JQ=Ogb{dwCF<{ZDqpJ* z4|>6a%vGNPY^?mIN3>r5s7HLy1GHSq5hzEX9D#BK$`L3>pd5j61j-Tke;WaQABEpP z;gcT$FE^usX~eg~#rcbw_+0T+DsyI$+_yCU2^ezlSPVNv|{B=LRPar}NGarO(3ml8KM z{{xNd?vYFXD+<3?UhK>&JG~z7 zt2O+rhO0De(vbZd4RTFEys`E<|H8&tXFQzn*W-n?+9hiisY;<>35?zx=kPUMLQR7jHE2 zJa>@c4}^8x3+c0jza)LOXf29A>3Q*n80Uu++Nl=2e-zST-0!5Qx)*OSbKZfI>%}Iw zucZ7{VyisGaY~ava|G{GPL3D52JcUW^s7awdGEz8!SCx8%3~J@Iw`8|71xNTO42X9 zm+jQ@7Q8{HIJDhN6K~^(;KD-NR0ZOEpeX)6O&=?we_GS|`oPv!qvFACeJrFX)E<>4 zd^{!M(+fJa%hw%}rLr3zPl-4m1ih61Pe}P1G0l$(3b*@xS)VUnE%N7YL8o??>WyBW zX@T|&P3P+$UkAuusdhJl;Xx2OO3af|@?VsWO`V6Y;5t=NV!iZ8`%~vnTH2X2Wxn07 z>BaMt&Hz1hbqk^+j`B3<&iDVAMdziZ=n>FsFb~IqEUDn-(vD9UTInIpz6JgAmzcLZ zVdo0k9Q;a z{}s?b4f#V_p0C?ay2$?{ZZxi}n7S{$E#-aURow`U2bDT>yi~glh#U2b_r1kRTx@ia zKj1?Da~Jwcpi>;ig4(bKKO}mIJde{Zc0Lb3X+9M1OZTFGHL!C$RA|3h_N$Oa*rU?U z)P3xaUF45Sx=)Pg1uD;!VdsY~^6$COchY!Gbw}I_y1xYd8!qzSb)o;gq+=J=_qlr5 z#T%eshw&ZO{<9AsxY${S8%UOMx^)}qrTpCPLf_+J=co%^MEdQNo$l%iM8t(W9?R~v zB9zIK!b|xtR1Xkhj7`ZcA6C@~;zh5P%%yRBHl z?%yrC`oq03E1K@@-3=87WCXjfNj!;HM zyWLW6S@9&P16@&PQTBmNxj&%9DJ=mQ@|D8KWr)U<9^tidWKC>nxwRqG0+n>9)ofXJ z)W=h8vA$T?zF6{xOWF}-VOULVp-qNmY;L5?C=029mSJk5+1Mtm#xHITZE9W*UO|7O zg#?*fmG|z}rlxiS8BC#u7DJ^0{ZHgT1%onWL*-^rK88#p`Z(Dyl&4dmEv#5HY=@B! zb}I%a8c$g1RE)ap%pK7hIz{AH%2+CBoLrZgD3_i;RbUTpM^j0w8}o@W+%6@vYD$2} z$Hp%N`eR*z|NhLg0`Jv8)u59F8;?LGX;WKpm##zstS=G3Ele+N zOPn`bze1hPGwI$Bk0rA3IS@lW&(v%w%XNaE!3Vc!d3`=FV(16YS#Y~vQ0jm=_4!GSszq0SF&*!1H zgN{e2ygr|2G30Yxh{(eC*^J+X3Z0p9`+V-juwDzY|18JwZt&?0mT^8G%R{YC{*#~V zzb1=4s8CEoJt?KsgkO%!|j0^!c2RA^XcF7-#s6B7J@?X81&r!`wdGd$LHM z&kY&!`8&%OnG@gE`uXwmYe^0NtN8szkv^Y8GK^|-42s)-u1J5MUr91NPJ`np95*Jt zj0%ac|9q~=@Mad&u*jS^0Xm%p(%h!P=S%#5Rf^-y?KAv0=v3pw`g~40N-1C{ET^yw zIMaUy2CprW;qz4fzcu{-X?T9K9{Y6=I@Bj_pU+)iT1wWio)pM`vp&Of;5hX~P>a?o z_>@K&upYxoC_DA}yyPjZ&+EKcpYfScCR^ #include #include -#include -#include -// std::vector parseFile(std::string fileName) { -// std::cout << "test1" << fileName << std::endl; +bool isRepeat(std::string line, int repeats) { + for (char c = 'a'; c <= 'z'; ++c) { + int count = 0; + for (size_t i = 0; i < line.size(); ++i) { + if (line[i] == c) + ++count; + } + if (count == repeats) + return true; + } + return false; +} -// std::vector output; -// std::cout << "test2" << fileName << std::endl; - -// std::fstream stream(fileName); -// std::cout << "Reading: " << fileName << " into array" << std::endl; - -// for (std::string line; std::getline(stream, line); ) -// output.push_back(line); -// return output; -// } +int checkSum(std::string fileName) { + std::fstream input(fileName); + std::string line; + int doubles = 0; + int triples = 0; + + while (!input.eof()) { + std::getline(input, line); + if (isRepeat(line, 2)) + ++doubles; + if (isRepeat(line, 3)) + ++triples; + } + return doubles * triples; +} int main(int argc, char** argv) { - try { - std::cout << "WTF WHY ISNT THIS OUTPUTTING" << std::endl; - - std::vector lines; // = parseFile("input.txt");// *(argv + 1)); - std::fstream stream("input.txt"); - - // std::string line; - // for (std::string line; std::getline(stream, line); ) {} - // lines.push_back(line); - // for (unsigned int i = 0; i < lines.size(); i++) - // std::cout << lines[i] << std::endl; - } catch (const std::string &e) { - std::cout << e << std::endl; - } + std::cout << "Found: " << checkSum("input.txt") << std::endl; } diff --git a/AdventOfCode2018/2ndDay/challenge2/a.out b/AdventOfCode2018/2ndDay/challenge2/a.out new file mode 100755 index 0000000000000000000000000000000000000000..78b30fc40c4b0f9aeaa707673f6f2e772311928f GIT binary patch literal 35952 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 +#include +#include +#include + +std::string equalLetters(std::string fileName) { + std::fstream input(fileName); + std::string line; + std::string a; + std::string b; + std::string answer; + std::vector lines; + + while (!input.eof()) { + std::getline(input, line); + lines.push_back(line); + } + + for (size_t i = 0; i < lines.size(); ++i) { + int count = 0; + a = lines[i]; + + for (size_t j = i + 1; j < lines.size(); ++j) { + b = lines[j]; + count = 0; + + for (size_t k = 0; k < a.size(); ++k) { + if (a[k] != b[k]) + ++count; + if (count > 1) + break; + } + if (count == 1) + break; + } + if (count == 1) + break; + } + + for (size_t i = 0; i < a.size(); ++i) { + if (a[i] == b[i]) + answer += a[i]; + } + + return answer; +} + +int main(int argc, char** argv) { + std::cout << "Found: " << equalLetters("input.txt") << std::endl; +}