Решаю задачу на Codeforses, не могу понять почему не проходит претесты
Есть мысли, что не так? Идеи по улучшению кода тоже принимаются
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TaskB {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
String str = scn.nextLine();
int left = 10000000;
int right = 0;
int max = str.indexOf("(");
while(left>max){
left = str.lastIndexOf('(',left-1);
right = str.indexOf(")");
String subs = str.substring(left+1,right);
Pattern pattern1 = Pattern.compile("\\d+");
Matcher matcher1= pattern1.matcher(subs);
Pattern pattern2 = Pattern.compile("[A-Z]+|[a-z]+|\\D+");
Matcher matcher2 = pattern2.matcher(subs);
int count=1;
String dop="0";
while(matcher1.find()) {
count = Integer.parseInt(matcher1.group());
}
while(matcher2.find()) {
dop =matcher2.group();
}
subs="";
for(int x=0;x<count;x++){
subs+=dop;
}
str = str.substring(0,left)+subs+str.substring(right+1);
}
System.out.println(str);
}
}
