RGAlex

O9. Kamino Factory

Feb 2nd, 2021 (edited)
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.72 KB | None | 0 0
  1. package ArraysExercise;
  2.  
  3. import java.util.Arrays;
  4. import java.util.Scanner;
  5.  
  6. public class O9KaminoFactory {
  7.     public static void main(String[] args) {
  8.         Scanner scanner = new Scanner(System.in);
  9.         int length = Integer.parseInt(scanner.nextLine());
  10.         String input = scanner.nextLine();
  11.         int bestSequenceSum = 0;
  12.         int bestSequenceIndex = 0;
  13.         int count = 0;
  14.         int sequenceIndex = length;
  15.  
  16.         int[] dnaSequence = new int[length];
  17.         while (!input.equals("Clone them!")) {
  18.             int[] arr = Arrays.stream(input.split("!+")).mapToInt(Integer::parseInt).toArray();
  19.             int sum = 0;
  20.             int index = length;
  21.             count++;
  22.             for (int i = 0; i < arr.length; i++) {
  23.                 if ((i != arr.length - 1) && arr[i] == 1 && arr[i + 1] == 1 && index == length) {
  24.                     index = i;
  25.                 }
  26.                 sum += arr[i];
  27.             }
  28.             if (index == sequenceIndex && sum > bestSequenceSum) {
  29.                 dnaSequence = arr;
  30.                 bestSequenceIndex = count;
  31.                 bestSequenceSum = sum;
  32.                 sequenceIndex = index;
  33.             } else if (index < sequenceIndex) {
  34.                 dnaSequence = arr;
  35.                 bestSequenceIndex = count;
  36.                 bestSequenceSum = sum;
  37.                 sequenceIndex = index;
  38.             }
  39.             input = scanner.nextLine();
  40.         }
  41.         if (bestSequenceSum == 0) {
  42.             bestSequenceIndex = 1;
  43.         }
  44.         System.out.printf("Best DNA sample %d with sum: %d.%n", bestSequenceIndex, bestSequenceSum);
  45.         for (int value : dnaSequence) {
  46.             System.out.print(value + " ");
  47.         }
  48.     }
  49. }
Add Comment
Please, Sign In to add comment