package codingbat.array2;

/*
 * Return the sum of the numbers in the array, 
 * returning 0 for an empty array. Except the number 13 is very unlucky, 
 * so it does not count and numbers that come immediately after 
 * a 13 also do not count. 
 * 
 * sum13({1, 2, 2, 1}) = 6
 * sum13({1, 1}) = 2
 * sum13({1, 2, 2, 1, 13}) = 6
 * 
 */

public class Sum13Test {

  public static void main(String[] args) {
    Sum13Test test = new Sum13Test();

    System.out.println(">" + test.sum13(new int[] {1, 2, 2, 1}) + "<");
    System.out.println(">" + test.sum13(new int[] {1, 1}) + "<");
    System.out.println(">" + test.sum13(new int[] {1, 2, 2, 1, 13}) + "<");
  }

  public int sum13(int[] nums) {
    int sum = 0;
    
    for (int i = 0; i < nums.length; i++) {
      if (nums[i] != 13) {
        if (i > 0 && nums[i-1] != 13) {
          sum += nums[i];
        }
      }
    }
    
    return sum;
  }

}

@@ -752,24 +752,31 @@
 gth; i++) %7B%0A
+      %0A
       if (nu
@@ -782,32 +782,41 @@
 ums%5Bi%5D != 13) %7B%0A
+        %0A
         if (i %3E 
@@ -810,16 +810,17 @@
      if 
+(
 (i %3E 0 &
@@ -829,32 +829,41 @@
 nums%5Bi-1%5D != 13)
+ %7C%7C i==0)
  %7B%0A          sum
@@ -925,10 +925,9 @@
 m;%0A  %7D%0A%0A
+
 %7D
-%0A

complete task sum13