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); } }
Дава таймаут на повечето тестове.
Моля за едно работещо решение , за да се ориентирам къде ми куца логиката.