RGAlex

O3. Take Skip Rope / Lists - More Exercise

Feb 19th, 2021 (edited)
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.75 KB | None | 0 0
  1. package ListsMoreExercise;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import java.util.Scanner;
  6.  
  7. public class O3TakeSkipRope {
  8.     public static void main(String[] args) {
  9.         Scanner scanner = new Scanner(System.in);
  10.  
  11.         String input = scanner.nextLine();
  12.         List<Integer> numbers = new ArrayList<>();
  13.         List<Character> characters = new ArrayList<>();
  14.  
  15.         for (int i = 0; i < input.length(); i++) {
  16.             char index = input.charAt(i);
  17.  
  18.             if (input.charAt(i) >= 48 && input.charAt(i) <= 57) {
  19.                 numbers.add(Integer.parseInt(String.valueOf(index)));
  20.             } else {
  21.                 characters.add(input.charAt(i));
  22.             }
  23.         }
  24.  
  25.         List<Integer> take = new ArrayList<>();
  26.         List<Integer> skip = new ArrayList<>();
  27.  
  28.         for (int i = 0; i < numbers.size(); i++) {
  29.             if (i % 2 == 0) {
  30.                 take.add(numbers.get(i));
  31.             } else {
  32.                 skip.add(numbers.get(i));
  33.             }
  34.         }
  35.        
  36.         StringBuilder hiddenMessage = new StringBuilder();
  37.  
  38.         for (int i = 0; i < numbers.size() / 2; i++) {
  39.  
  40.             int takeIndex = take.get(i);
  41.             for (int j = 0; j < takeIndex; j++) {
  42.                 if (characters.size() == 0) {
  43.                     break;
  44.                 }
  45.                 hiddenMessage.append(characters.get(0));
  46.                 characters.remove(0);
  47.             }
  48.             int skipIndex = skip.get(i);
  49.             if (skipIndex > 0) {
  50.                 if (characters.size() == 0) {
  51.                     break;
  52.                 }
  53.                 characters.subList(0, skipIndex).clear();
  54.             }
  55.         }
  56.         System.out.println(hiddenMessage);
  57.     }
  58. }
  59.  
Add Comment
Please, Sign In to add comment