Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package MoreExercise;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Scanner;
- public class TakeSkipRope {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- String textChain = scanner.nextLine();
- List<Integer> numbers = new ArrayList<>();
- List<Character> nonNumbers = new ArrayList<>();
- // Step 1: Extract digits and non-digits
- for (char c : textChain.toCharArray()) {
- if (Character.isDigit(c)) {
- numbers.add(Character.getNumericValue(c));
- } else {
- nonNumbers.add(c);
- }
- }
- // Step 2: Separate take and skip lists
- List<Integer> take = new ArrayList<>();
- List<Integer> skip = new ArrayList<>();
- for (int i = 0; i < numbers.size(); i++) {
- if (i % 2 == 0) {
- take.add(numbers.get(i));
- } else {
- skip.add(numbers.get(i));
- }
- }
- // Step 3: Construct the result string
- StringBuilder result = new StringBuilder();
- int nonNumIndex = 0;
- for (int i = 0; i < take.size(); i++) {
- int takeCount = take.get(i);
- int skipCount = skip.get(i);
- for (int j = 0; j < takeCount && nonNumIndex < nonNumbers.size(); j++) {
- result.append(nonNumbers.get(nonNumIndex++));
- }
- nonNumIndex += skipCount;
- }
- System.out.println(result.toString());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement