class Challenges
{
public static void main
(String[] args
) {
System.
out.
println("Star Struck: "); "*xy***",
"a*bc**def****g",
"a*b*c*d*",
"****"
};
System.
out.
println("\t" + cur
+ ": " + countStars
(cur
));
System.
out.
println("Zip Zap Not Zip Zip: "); "zip dsjdkgf",
"zipdjzap zip zzzzzzap",
"zipzapzipzzzaphzazipzazapzgzazapzapzapzapzipzapzapzap",
"zipzipzipzipzipzap",
"zapzipff",
"zip",
"zap",
"blue"
};
System.
out.
println("\t" + cur
+ ": " + isZipZap
(cur
)); }
private static int countStars
(String input
) {
int result = 0;
for(int i = 0; i < input.length(); i++)
if(( (i + 1 < input.length() && input.charAt(i + 1) == '*') || (i - 1 >= 0 && input.charAt(i - 1) == '*') ) && input.charAt(i) == '*')
result++;
return result;
}
private static boolean isZipZap
(String input
) {
if(input.contains("zip") && !input.substring(input.indexOf("zip")).contains("zap"))
return false;
if(input.split("zip").length <= 2)
return true;
return isZipZap(new StringBuilder(input.substring(input.indexOf("zip") + 3)).delete(input.indexOf("zap"), input.indexOf("zap") + 3).toString());
}
}
Y2xhc3MgQ2hhbGxlbmdlcyAKewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgCiAgICB7CiAgICAJU3RyaW5nW10gaW5wdXQ7CiAgICAJCiAgICAJCiAgICAJU3lzdGVtLm91dC5wcmludGxuKCJTdGFyIFN0cnVjazogIik7CiAgICAJaW5wdXQgPSAgbmV3IFN0cmluZ1tdIHsKCQkJIip4eSoqKiIsIAoJCQkiYSpiYyoqZGVmKioqKmciLCAKCQkJImEqYipjKmQqIiwgCgkJCSIqKioqIgoJCX07CgkJCiAgICAgICAgZm9yKFN0cmluZyBjdXI6IGlucHV0KQogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlx0IiArIGN1ciArICI6ICIgKyBjb3VudFN0YXJzKGN1cikpOwogICAgICAgIAogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiWmlwIFphcCBOb3QgWmlwIFppcDogIik7CiAgICAgICAgaW5wdXQgPSBuZXcgU3RyaW5nW10gewogICAgICAgIAkiemlwIGRzamRrZ2YiLCAKICAgICAgICAJInppcGRqemFwIHppcCB6enp6enphcCIsCiAgICAgICAgCSJ6aXB6YXB6aXB6enphcGh6YXppcHphemFwemd6YXphcHphcHphcHphcHppcHphcHphcHphcCIsIAogICAgICAgIAkiemlwemlwemlwemlwemlwemFwIiwgCiAgICAgICAgCSJ6YXB6aXBmZiIsIAogICAgICAgIAkiemlwIiwgCiAgICAgICAgCSJ6YXAiLCAKICAgICAgICAJImJsdWUiCiAgICAJfTsKICAgIAkKICAgICAgICBmb3IoU3RyaW5nIGN1cjogaW5wdXQpCgkJCVN5c3RlbS5vdXQucHJpbnRsbigiXHQiICsgY3VyICsgIjogIiArIGlzWmlwWmFwKGN1cikpOwogICAgfQoKICAgIHByaXZhdGUgc3RhdGljIGludCBjb3VudFN0YXJzKFN0cmluZyBpbnB1dCkgCiAgICB7CiAgICAgICAgaW50IHJlc3VsdCA9IDA7CgogICAgICAgIGZvcihpbnQgaSA9IDA7IGkgPCBpbnB1dC5sZW5ndGgoKTsgaSsrKQogICAgICAgICAgICBpZigoIChpICsgMSA8IGlucHV0Lmxlbmd0aCgpICYmIGlucHV0LmNoYXJBdChpICsgMSkgPT0gJyonKSB8fCAoaSAtIDEgPj0gMCAmJiBpbnB1dC5jaGFyQXQoaSAtIDEpID09ICcqJykgKSAmJiBpbnB1dC5jaGFyQXQoaSkgPT0gJyonKQogICAgICAgICAgICAgICAgcmVzdWx0Kys7CgogICAgICAgIHJldHVybiByZXN1bHQ7CiAgICB9CiAgICAKICAgIHByaXZhdGUgc3RhdGljIGJvb2xlYW4gaXNaaXBaYXAoU3RyaW5nIGlucHV0KSAKICAgIHsKCQlpZihpbnB1dC5jb250YWlucygiemlwIikgJiYgIWlucHV0LnN1YnN0cmluZyhpbnB1dC5pbmRleE9mKCJ6aXAiKSkuY29udGFpbnMoInphcCIpKQoJCQlyZXR1cm4gZmFsc2U7CgkJCgkJaWYoaW5wdXQuc3BsaXQoInppcCIpLmxlbmd0aCA8PSAyKQoJCQlyZXR1cm4gdHJ1ZTsKCQkJCgkJcmV0dXJuIGlzWmlwWmFwKG5ldyBTdHJpbmdCdWlsZGVyKGlucHV0LnN1YnN0cmluZyhpbnB1dC5pbmRleE9mKCJ6aXAiKSArIDMpKS5kZWxldGUoaW5wdXQuaW5kZXhPZigiemFwIiksIGlucHV0LmluZGV4T2YoInphcCIpICsgMykudG9TdHJpbmcoKSk7Cgl9Cn0=