fork download
  1. class Challenges
  2. {
  3. public static void main(String[] args)
  4. {
  5. String[] input;
  6.  
  7.  
  8. System.out.println("Star Struck: ");
  9. input = new String[] {
  10. "*xy***",
  11. "a*bc**def****g",
  12. "a*b*c*d*",
  13. "****"
  14. };
  15.  
  16. for(String cur: input)
  17. System.out.println("\t" + cur + ": " + countStars(cur));
  18.  
  19. System.out.println("Zip Zap Not Zip Zip: ");
  20. input = new String[] {
  21. "zip dsjdkgf",
  22. "zipdjzap zip zzzzzzap",
  23. "zipzapzipzzzaphzazipzazapzgzazapzapzapzapzipzapzapzap",
  24. "zipzipzipzipzipzap",
  25. "zapzipff",
  26. "zip",
  27. "zap",
  28. "blue"
  29. };
  30.  
  31. for(String cur: input)
  32. System.out.println("\t" + cur + ": " + isZipZap(cur));
  33. }
  34.  
  35. private static int countStars(String input)
  36. {
  37. int result = 0;
  38.  
  39. for(int i = 0; i < input.length(); i++)
  40. if(( (i + 1 < input.length() && input.charAt(i + 1) == '*') || (i - 1 >= 0 && input.charAt(i - 1) == '*') ) && input.charAt(i) == '*')
  41. result++;
  42.  
  43. return result;
  44. }
  45.  
  46. private static boolean isZipZap(String input)
  47. {
  48. if(input.contains("zip") && !input.substring(input.indexOf("zip")).contains("zap"))
  49. return false;
  50.  
  51. if(input.split("zip").length <= 2)
  52. return true;
  53.  
  54. return isZipZap(new StringBuilder(input.substring(input.indexOf("zip") + 3)).delete(input.indexOf("zap"), input.indexOf("zap") + 3).toString());
  55. }
  56. }
Success #stdin #stdout 0.05s 711168KB
stdin
Standard input is empty
stdout
Star Struck: 
	*xy***: 3
	a*bc**def****g: 6
	a*b*c*d*: 0
	****: 4
Zip Zap Not Zip Zip: 
	zip dsjdkgf: false
	zipdjzap zip zzzzzzap: true
	zipzapzipzzzaphzazipzazapzgzazapzapzapzapzipzapzapzap: true
	zipzipzipzipzipzap: true
	zapzipff: false
	zip: false
	zap: true
	blue: true