Java-Fundamentals-Regular-Expressions-More-Exercise - задача 2. Rage Quit
Здравейте колеги,
Здачата е:
https://softuni.bg/trainings/resources/officedocument/41895/more-exercise-problem-descriptions-java-fundamentals-may-2019/2342
Решението ми :
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String strInput = sc.nextLine().toUpperCase();
Pattern p = Pattern.compile("(\\D+\\d+)");
String result = "";
String unique = "";
String letters = strInput.replaceAll("[\\d]", "");
for (int i = 0; i < letters.length(); i++) {
if (unique.indexOf(letters.charAt(i)) < 0) {
unique = unique + letters.charAt(i);
}
}
Matcher m = p.matcher(strInput);
while (m.find()) {
String token = m.group();
int repeatCount = Integer.parseInt(token.replaceAll("\\D", ""));
String lettersToken = token.replaceAll("\\d", "");
for (int r = 0; r < repeatCount; r++) {
result +=lettersToken;
}
}
System.out.printf("Unique symbols used: %d%n", unique.length());
System.out.println(result);
}
}
Дава таймаут на повечето тестове.
Моля за едно работещо решение , за да се ориентирам къде ми куца логиката.