From 2f4e8effb27b6c823c387f78ef8f6c146cc13083 Mon Sep 17 00:00:00 2001 From: Dee Date: Thu, 1 Jul 2021 16:52:53 -0400 Subject: [PATCH 1/2] passed all string cases --- .../java/io/zipcoder/StringsAndThings.java | 79 ++++++++++++++++-- .../io/zipcoder/StringsAndThings.class | Bin 0 -> 2140 bytes .../ContainsEqualNumberOfIsAndNotTest.class | Bin 0 -> 1323 bytes .../stringsandthings/CountTripleTest.class | Bin 0 -> 1321 bytes .../stringsandthings/CountYZTest.class | Bin 0 -> 1372 bytes .../stringsandthings/GIsHappyTest.class | Bin 0 -> 1210 bytes .../stringsandthings/RemoveStringTest.class | Bin 0 -> 1308 bytes 7 files changed, 70 insertions(+), 9 deletions(-) create mode 100644 target/classes/io/zipcoder/StringsAndThings.class create mode 100644 target/test-classes/io/zipcoder/stringsandthings/ContainsEqualNumberOfIsAndNotTest.class create mode 100644 target/test-classes/io/zipcoder/stringsandthings/CountTripleTest.class create mode 100644 target/test-classes/io/zipcoder/stringsandthings/CountYZTest.class create mode 100644 target/test-classes/io/zipcoder/stringsandthings/GIsHappyTest.class create mode 100644 target/test-classes/io/zipcoder/stringsandthings/RemoveStringTest.class diff --git a/src/main/java/io/zipcoder/StringsAndThings.java b/src/main/java/io/zipcoder/StringsAndThings.java index 073467a..1363cfb 100644 --- a/src/main/java/io/zipcoder/StringsAndThings.java +++ b/src/main/java/io/zipcoder/StringsAndThings.java @@ -1,6 +1,10 @@ package io.zipcoder; +import java.sql.SQLOutput; +import java.util.ArrayList; +import java.util.Locale; + /** * @author tariq */ @@ -14,10 +18,19 @@ public class StringsAndThings { * countYZ("day fez"); // Should return 2 * countYZ("day fyyyz"); // Should return 2 */ - public Integer countYZ(String input){ - return null; - } + public Integer countYZ(String input) { + int yZTotal = 0; + String[] inputSplit = input.split(" "); + int length = inputSplit.length; + for (String s : inputSplit) { + if (s.endsWith("y") || s.endsWith("z")) { + yZTotal++; + } + } + return yZTotal; + + } /** * Given two strings, base and remove, return a version of the base string where all instances of the remove string have * been removed (not case sensitive). You may assume that the remove string is length 1 or more. @@ -28,8 +41,24 @@ public Integer countYZ(String input){ * removeString("Hello there", "x") // Should return "Hello there" */ public String removeString(String base, String remove){ - return null; - } + return base.replaceAll(remove, ""); + + } + + + +// int baseIndex = base.indexOf(remove); +// int baselength = base.length(); +// for (String remove: base) { +// String part1 = base.substring(0,baseIndex); +// String part2 = base.substring(baseIndex+1,baselength); +// newWord.append(part1); +// newWord.append(part2); +// } +// +// + + /** * Given a string, return true if the number of appearances of "is" anywhere in the string is equal @@ -40,8 +69,27 @@ public String removeString(String base, String remove){ * containsEqualNumberOfIsAndNot("noisxxnotyynotxisi") // Should return true */ public Boolean containsEqualNumberOfIsAndNot(String input){ - return null; - } + // String[] isArray = input.split("is"); +// String[] notArray = input.split("not"); +// Integer isArrayLength = isArray.length; +// Integer notArrayLength = notArray.length; + //^^Does not pass Case 2 "This is notnot" + + + Integer numOfIs = 0; + Integer numOfNot = 0; + + for (int i = 0; i <= input.length()-3; i++) { + + if (input.substring(i,i+2).equalsIgnoreCase("is")){ + numOfIs++ ; + } + else if (input.substring(i,i+3).equalsIgnoreCase("not")){ + numOfNot++ ; + } + } + return numOfIs.equals(numOfNot); + } //Doesn't pass Case 1 "This is not" /** * We'll say that a lowercase 'g' in a string is "happy" if there is another 'g' immediately to its left or right. @@ -51,7 +99,13 @@ public Boolean containsEqualNumberOfIsAndNot(String input){ * gHappy("xxggyygxx") // Should return false */ public Boolean gIsHappy(String input){ - return null; + for (int i = 0; i < input.length(); i++) { + if (input.charAt(i) == 'g' && input.charAt(i + 1) == 'g') { + return true; + } + } + + return false; } @@ -63,6 +117,13 @@ public Boolean gIsHappy(String input){ * countTriple("a") // Should return 0 */ public Integer countTriple(String input){ - return null; + int countTrip = 0; + for (int i = 0; i <= input.length()-3 ; i++) { + if (input.charAt(i) == input.charAt(i+1) && input.charAt(i) ==input.charAt(i+2)){ + countTrip++; + } + + } + return countTrip; } } diff --git a/target/classes/io/zipcoder/StringsAndThings.class b/target/classes/io/zipcoder/StringsAndThings.class new file mode 100644 index 0000000000000000000000000000000000000000..62383c704ffa3236417dcc27e08184ee7f41655e GIT binary patch literal 2140 zcmaJ>&sP&y6#iajk{QCF7z~OHic}FuFld$9M6gJ;q(!1av0{HXgdvQLGiiQ!id}T$ zx_i6w*aeGj+D+=|!atzPu6p_}^bcr{$7;X#GK8SC92nla@80iz_q+GKUtj$46u=p* zL=l2!K(`P^M4ztV?9cOqTuy@Y&oca3Q6{oUjuaszs&G`kp zv}9LYxettbZQW(i;ko|<&9eCgzwXs;F8{|cwl!^Q8aP!1jsvydlu3 zv|FsWW!Z*~){Z4F`1MM`x$Me=_^Z7na`=E>8T==`JNSQAn@q-x20G@)o=)gvnQ&kD=|n`EFycl$ z@)#%j!g1qt#_Tg=dmGsI9lE%RbM+9B2O;sm5SuT5PdveaABm-@{DUyL?j`;~X6WPF zb_hef0vRMQ$@L75C~i|MWC#cFA?8%XY`~J7aD_JBRQk;$ub5uIRa|3+E@b%*7Y#&(fd%zPRi5K0Ezc18n~Di6VlXKDGC?$kn#okGzkwr?c)M^ZMQ)(! z)1qYJBSndESmG)~v>W(1!2FAJBE<1DDse@A=Cuhut|uFKGqUN@-B1YTT zL-eLH;Zy_T`fVA}7rwEHM+f5}RIk#%`0@=fGu}tp}u~zX3SDF%gAM_XK zGH{T;B7O9k686)U2;T<6j%$+%S@>fdOC}na>MlOQ{$xUDVQOvak~@cI^W`6us;!J( zA_8knTf_j?+1)iHQED|L#D`wemX~3?MSDD;E$1N$?KwhXu*vPS*0gW3K|0Sf+N3ts zztxt}BnMzB*{`TQLOj^YK21Gp&bLOEzwMmwL#owZk;Mk~;676LnpbfHXYq|NLwN?!$op%0$6v z;t%jg8Sm^?T0t-*o4a@J%sJ=YJ9mEm`t}3B3Z9!tAZeh>LN|IC2Ali?w;iq;_I9l) z>H$N~OQ~eA%8<#6@T6+^Yih6ZPCF(HBzw^Z%fJl_{TN_a z?F9HSfUCVA0@xd_3b<7M>-Qmd%Hcsxc-#A1nz8H#72#73gDudR3d4A*lk|KR#T3#E zeUy?vL7#F1o!5|so4Cc0tzRX{FqbQ}`w&wX^Btje*L4I}MH9C%Vqnz59o%I|w?VBF z3|1{ZTjfqDq8{#=$YR{UJqr_sGLf?#E|%^;e^>e|trSZeIl9A;ajKPzCZpR4E(MSyPl552UL|hEh1|!@Aga zJwd<$p=V;tFUNzhNYlvc0fiWb{&64F%nlYkIu|*XF0d|B_jcUStBXykn=$*}fn3lR zjY%5v1id0gmd2dCZu03FkEAe%0*4AF+rjUNtHyJ20xkUcBo6rZr$CI>c28k zA)5FD{87et+uBwNF=0QPJ##tlGv}O{U%$Wq1h9?A34{>V5YZ7uOdxeEPo+_lcGcJ~ zA1l)rh&{Dz%YP;i&SXm(;sP_4V|=perc+U_ap1d_UG;YCO7VT*B%mQYgkk6!Zs@p) zq`+E#fY%O?cExW67`slx_KU7nuc@N)NKAFMbTtL$3jGonnfU}pkk&A&V+`X0BfTv4 zY+qHCE1;dqT0`w02~1@6vW0;i`8aL~49T*2cz8$~0*Nf#Vb)=JW~f^lau!Uhn#{!eZH*PgsU z)Kh+=E-?9qjk8Wv$?`0!?%1~DOW$&AiW1mO_qjT9T*bgtUmb&1ZwSOyv(9U#DgvW@ zxpvydn3yzumWRQ8ib3!tdYglYErG;=({N4o(h3SOcHy?I2NwYgyssfX2tmsmOD{^F zFM{?SM+W~Qn9ZF*e5Mn^3T?0q#F3%Z+Z&KYjw69pu7+B{PY`ac>A4@!-kxFTD-u18 z-~ocrVPbnadPirCYXRkcOLM)e`HoRx&W%UTS(w}xB+?V#aQoHj+Bs%=;%P*;KeJ!Qv^>_bcW#BYk{{1!Qn1= W`AYBt!HWbh5xjgY@I&Su!lOS-rw`!( literal 0 HcmV?d00001 diff --git a/target/test-classes/io/zipcoder/stringsandthings/CountYZTest.class b/target/test-classes/io/zipcoder/stringsandthings/CountYZTest.class new file mode 100644 index 0000000000000000000000000000000000000000..00174b62d55e91642333b3b0a42687935376fc1a GIT binary patch literal 1372 zcmbtTYflqF6g|@iyVOOwriNSS z6DYU5p*=il|&%eHY^j zCNvZ<$$o67sqgu8P+xIf>99r32!l7De52)_1MZq$iBUy6rJ9O+)WaSN>{Z1Bf!=V@ z>2wYSQmecTfxfC~$#s8!M><=^PK!JFs$Dl)HN!E3b+nnH^`tJJarUx{sR*Q9>G^Ge zk@vhVb6?g>*CgVKW!awLnYKkhlAW~sTJGA8WT6&$7+mlIaZIc2(}sMk$;eLuReo;s z)yalHe=Hwe9>IEyx<}t=Y>X;EK1Z~8mUl@YvuXQIUA{E~SF*83Hy=C!O!CPl_$LHM zK3Ya;#{3i$7vm7(0a@ zWEbFnNMZ;ohDkKS)o4gn?m|RVNer;hMLQhi2)HQ`Xxj@MMs|cB@Uat5ikG% literal 0 HcmV?d00001 diff --git a/target/test-classes/io/zipcoder/stringsandthings/GIsHappyTest.class b/target/test-classes/io/zipcoder/stringsandthings/GIsHappyTest.class new file mode 100644 index 0000000000000000000000000000000000000000..adda9fb23e3ec978b5af66c10f9a553b1399e24d GIT binary patch literal 1210 zcmb7DYflqF6g|@i+b#>VMUg565s*HVm50w7lVXCJG?+-!M7~Yiv2L^MHv2HG|H?$c zXyOm>M;Y&Im$p_h;mhoux%Zqi_srd&zrOtdu!qMgB8V!8X^3NrA=Tj@xNdT*t-o$` zMAKuKdTLmP_lzN$FVqzz7?uoM|7diZc1t+=k>?mz+pSow+ItzOP!LUG8k&L`4YQbI zD2xN#0f1XAF97H-Ub!!Mx7)7?m*i4men`l$Tphhl_|;3`9+ z9TGEa=BuN|1_b58*wMain}SYkwBgy zDf{a8sf>Wn$#I6cs$q#k|D++D8gH0%lBwEFZq~VD$bEPiBYRzj(jVsi*ZeZw$Q7R7 zWyrqqEzdX+b;C7?vSL}b$34Tgh>_HW4epC~wj&5Qb8fbL#cg^I-t>HKGR*(OX7Xr^ zLn0;_b|x5i$-^VtcbekBkR7MThh|GY6IN;FA~e*DR+>7B;uO4Jt*#Uk-%1NMahDr8rYzz%ka|6FG; u(7Ats&aIKo`lL>dbe2hHHO8t8tJT)&c-El9#U5kJo*jt%<=R9 literal 0 HcmV?d00001 diff --git a/target/test-classes/io/zipcoder/stringsandthings/RemoveStringTest.class b/target/test-classes/io/zipcoder/stringsandthings/RemoveStringTest.class new file mode 100644 index 0000000000000000000000000000000000000000..ba429b6dd3d96cc04e52eadd56584350e3570a01 GIT binary patch literal 1308 zcmbW0YflqF6o%hv3oT_8SV1l#6cuR8W#!@}VocCz_)s;0riq`-(vC2s?BZUK_^(V< zj3)j7f0Xf^-4<3_zVK!C%$YgwGw0ozKYxGz2C$Atd8CleB4eNjy#j*=_OWd>ZD-GV zyL%w(fk5w5<*4A9K)P6}Wswt@RIc?|9o5~2^sJr0Q_h~h=`^bQI>;l7bRYU*WO2>F zbqokBB@6txz;+rzRA6n(L-$z5I#uZtIoR5BCMqyhNorh#Zsaf|klT`lU|)JNhZ_R@ zTe8`7+ldjLpHqFhQ3GQb7cjg8Sm1H7a^8Fl*yzlZI#YSv!ekb=4NPI0hj+a_>ma0O z)~4@EkNp^S6ukTx+D%_zK1qsgPLf)gQZ0uW-BjF#m&08F!QN*1IT6Ubp#K5`73Ih` z;o+|Is`hS^8METn?PksPl%BVe8JbPB^`DI`n=k(r8v;GP48kLU@$JwF)S;{?Ur~0` zaooTTlQFD8@i~&ZeBLK9?&GZn2^-9 zT?JRWQPu?VJ8tOJ_7=ZoXbv{DFycaT6JC8s*k8b~TP+Ohk}ET-<`BiMDW` zm;nM-7^Tn#uSVdtF5p5NeCJZ|6fx5jEf73&CGdI|u-OLRyA(W2@EpPO1Q)Lae!#v{ Gc=!+GL<^b# literal 0 HcmV?d00001 From dda9e277f536186aa9c266f7582ef7936d5f36da Mon Sep 17 00:00:00 2001 From: Dee Date: Wed, 7 Jul 2021 21:21:11 -0400 Subject: [PATCH 2/2] G is happy works --- .../java/io/zipcoder/StringsAndThings.java | 17 +++++++++++------ .../stringsandthings/GIsHappyTest.java | 2 +- .../io/zipcoder/StringsAndThings.class | Bin 2140 -> 2209 bytes .../stringsandthings/GIsHappyTest.class | Bin 1210 -> 1210 bytes 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/main/java/io/zipcoder/StringsAndThings.java b/src/main/java/io/zipcoder/StringsAndThings.java index 1363cfb..904ba3d 100644 --- a/src/main/java/io/zipcoder/StringsAndThings.java +++ b/src/main/java/io/zipcoder/StringsAndThings.java @@ -22,7 +22,7 @@ public Integer countYZ(String input) { int yZTotal = 0; String[] inputSplit = input.split(" "); - int length = inputSplit.length; + //int length = inputSplit.length; for (String s : inputSplit) { if (s.endsWith("y") || s.endsWith("z")) { yZTotal++; @@ -79,7 +79,7 @@ public Boolean containsEqualNumberOfIsAndNot(String input){ Integer numOfIs = 0; Integer numOfNot = 0; - for (int i = 0; i <= input.length()-3; i++) { + for (int i = 0; i < input.length()-3; i++) { if (input.substring(i,i+2).equalsIgnoreCase("is")){ numOfIs++ ; @@ -99,13 +99,18 @@ else if (input.substring(i,i+3).equalsIgnoreCase("not")){ * gHappy("xxggyygxx") // Should return false */ public Boolean gIsHappy(String input){ - for (int i = 0; i < input.length(); i++) { - if (input.charAt(i) == 'g' && input.charAt(i + 1) == 'g') { - return true; + boolean happyG = false; + for (int i = 1; i < input.length()-1; i++) { + if (input.charAt(i) == 'g') + if (input.charAt(i - 1) == 'g' || input.charAt(i+1) =='g') { + happyG = true; + } else if (input.charAt(i - 1) != 'g'|| input.charAt(i+1) != 'g') { + return false; } + } + return happyG; - return false; } diff --git a/src/test/java/io/zipcoder/stringsandthings/GIsHappyTest.java b/src/test/java/io/zipcoder/stringsandthings/GIsHappyTest.java index 020cd3d..9c150d9 100644 --- a/src/test/java/io/zipcoder/stringsandthings/GIsHappyTest.java +++ b/src/test/java/io/zipcoder/stringsandthings/GIsHappyTest.java @@ -33,7 +33,7 @@ public void gIsHappyTest2(){ @Test public void gIsHappyTest3(){ Boolean actual = stringsAndThings.gIsHappy("xxggyygxx"); - Assert.assertTrue(actual); + Assert.assertFalse(actual); } } diff --git a/target/classes/io/zipcoder/StringsAndThings.class b/target/classes/io/zipcoder/StringsAndThings.class index 62383c704ffa3236417dcc27e08184ee7f41655e..d4040cec40b0afdacaa36892f8443664528e72fe 100644 GIT binary patch delta 513 zcmYk2%}!HM6otRjdwS1pjX;Ulwo1jI5#!Zp3^Xa`VnWcGD4@bXB?xF^@n_Jf1FeHT zfj10v0(8PqoHWD%58xAE;@F2UQCu{pI@xDsuf2EHcfJp7<+5LYf7t`ZsC~{3+avzk zYNPSGYA}zIQM=yUCq*EC+KZz>*C8`|X~GumUODZR{m>87ZAObW^si31q8se*ko(9{ zsZiSyFhQctTp3(Xgv&`wuaE-g%)A{@I&teZahI33gvc@r=tf$|bc5>eT(fp<%tDz+? zwv(l(!x>v^GZU3MOb*mHiKCLOb@c}Q(kp-afsMC0-7`1;GdBplT`D^*PpF@STKR{1 zPTAm@GS=y1jpYK*xxx#^c`1xn3S8#_jV|*AC9^E>P*C1s#vbxg4|$QtEbH7MXdnJB stTB~2-VQrLI7N$)mAp;+iE!B)X+ zIkVsXksLC3ATP@U%`&0pfc&p0p+u1(#<@zBgqrXi!_2>uWR^f5gFNDKzEbBQb@3|2 z6LCfs^DOW*uX>MXJXb`KyNrqRSd?-MudSTWao-Uc#|x8v_P>~KSvfdqe3ITuHEnB2 z+T_|EqiND)wr699{xtDc|KZR(WadEk?6-f~3#gsWF$4I*>qKlY!lv@pNqMVY=xx<( zlBK+%QvUa!?)2}^D@NEq6ioTItPIQ9iF+Nt)8czB@qrtB7#l P{>3xqdS`J}RDn0=hSf;r diff --git a/target/test-classes/io/zipcoder/stringsandthings/GIsHappyTest.class b/target/test-classes/io/zipcoder/stringsandthings/GIsHappyTest.class index adda9fb23e3ec978b5af66c10f9a553b1399e24d..feefb49bf0f5d6d7052a34465234c55e266f048c 100644 GIT binary patch delta 15 WcmdnRxr=i{9?N7l7QxB&EY<)jj0C6v delta 13 UcmdnRxr=i{9t)$)