diff --git a/src/main/java/io/zipcoder/StringsAndThings.java b/src/main/java/io/zipcoder/StringsAndThings.java index 073467a..cb953f7 100644 --- a/src/main/java/io/zipcoder/StringsAndThings.java +++ b/src/main/java/io/zipcoder/StringsAndThings.java @@ -1,6 +1,9 @@ package io.zipcoder; +import java.sql.SQLOutput; +import java.util.Locale; + /** * @author tariq */ @@ -15,7 +18,14 @@ public class StringsAndThings { * countYZ("day fyyyz"); // Should return 2 */ public Integer countYZ(String input){ - return null; + int count = 0; + String[] words = input.split(" "); + for(int i = 0; i < words.length; i++){ + if(words[i].charAt(words[i].length() - 1) == 'y' || words[i].charAt(words[i].length() - 1) == 'z'){ + count += 1; + } + } + return count; } /** @@ -28,7 +38,7 @@ 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, ""); } /** @@ -40,7 +50,25 @@ public String removeString(String base, String remove){ * containsEqualNumberOfIsAndNot("noisxxnotyynotxisi") // Should return true */ public Boolean containsEqualNumberOfIsAndNot(String input){ - return null; + int isCount = 0; + int notCount = 0; + int indexOf = input.indexOf("not"); + String currentString = input; + + while(indexOf >= 0){ + currentString = currentString.replaceFirst("not", ""); + indexOf = currentString.indexOf("not"); + notCount++; + } + currentString = input; + indexOf = currentString.indexOf("is"); + while(indexOf >= 0){ + currentString = currentString.replaceFirst("is", ""); + indexOf = currentString.indexOf("is"); + isCount++; + System.out.println("found is"); + } + return isCount == notCount; } /** @@ -51,7 +79,15 @@ public Boolean containsEqualNumberOfIsAndNot(String input){ * gHappy("xxggyygxx") // Should return false */ public Boolean gIsHappy(String input){ - return null; + for(int i = 1; i < input.length(); i++){ + if(input.charAt(i) == 'g'){ + //if the current character being examined is NOT the last or first character + if(input.charAt(i - 1) != 'g' && input.charAt(i + 1) != 'g'){ + return false; + } + } + } + return true; } @@ -62,7 +98,15 @@ public Boolean gIsHappy(String input){ * countTriple("xxxabyyyycd") // Should return 3 * countTriple("a") // Should return 0 */ - public Integer countTriple(String input){ - return null; + public Integer countTriple(String input){ //abcXXXabc 9 6 + int count = 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)){ + count += 1; + } + } + return count; } } + diff --git a/target/classes/io/zipcoder/StringsAndThings.class b/target/classes/io/zipcoder/StringsAndThings.class new file mode 100644 index 0000000..c87f13b Binary files /dev/null and b/target/classes/io/zipcoder/StringsAndThings.class differ diff --git a/target/test-classes/io/zipcoder/stringsandthings/ContainsEqualNumberOfIsAndNotTest.class b/target/test-classes/io/zipcoder/stringsandthings/ContainsEqualNumberOfIsAndNotTest.class new file mode 100644 index 0000000..556ec64 Binary files /dev/null and b/target/test-classes/io/zipcoder/stringsandthings/ContainsEqualNumberOfIsAndNotTest.class differ diff --git a/target/test-classes/io/zipcoder/stringsandthings/CountTripleTest.class b/target/test-classes/io/zipcoder/stringsandthings/CountTripleTest.class new file mode 100644 index 0000000..29d3cfe Binary files /dev/null and b/target/test-classes/io/zipcoder/stringsandthings/CountTripleTest.class differ 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 0000000..27178e4 Binary files /dev/null and b/target/test-classes/io/zipcoder/stringsandthings/CountYZTest.class differ 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 0000000..97d69c0 Binary files /dev/null and b/target/test-classes/io/zipcoder/stringsandthings/GIsHappyTest.class differ 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 0000000..715f4d3 Binary files /dev/null and b/target/test-classes/io/zipcoder/stringsandthings/RemoveStringTest.class differ