Advertisement
Guest User

Untitled

a guest
Jul 19th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.util.regex.Matcher;
  3. import java.util.regex.Pattern;
  4.  
  5. public class RageQuit {
  6. public static void main(String[] args) {
  7. Scanner scanner = new Scanner(System.in);
  8. String input = scanner.nextLine().toUpperCase();
  9. StringBuilder output = new StringBuilder();
  10.  
  11. Pattern patternUnique = Pattern.compile("[^\\d]");
  12. Matcher matchUnique = patternUnique.matcher(input);
  13. int countUnique = 0;
  14. StringBuilder uniqueString = new StringBuilder();
  15. while (matchUnique.find()) {
  16. String unique = matchUnique.group();
  17. if (uniqueString.indexOf(unique) == -1) {
  18. countUnique++;
  19. uniqueString.append(unique);
  20. }
  21. }
  22.  
  23. Pattern patternDigit = Pattern.compile("\\d+");
  24. Matcher matcherDigit = patternDigit.matcher(input);
  25. Pattern patternSymbol = Pattern.compile("[^\\d]+");
  26. Matcher matcherSymbol = patternSymbol.matcher(input);
  27.  
  28. while (matcherDigit.find() && matcherSymbol.find()) {
  29. String sequence = matcherSymbol.group();
  30. int repeat = Integer.parseInt(matcherDigit.group());
  31. for (int i = 0; i < repeat; i++) {
  32. output.append(sequence);
  33. }
  34. }
  35.  
  36. System.out.printf("Unique symbols used: %d\n", countUnique);
  37. System.out.println(output);
  38. }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement