Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
5
Сжатие строки за один проход
Условие задачи
Необходимо написать функцию compress, которая преобразует входную строку, заменяя последовательные одинаковые символы на сам символ и количество его повторений, если повторений больше одного. Одинокие символы оставляются без изменений. Учёт регистра обязателен.
public class StringTask {
public static void main(String[] args) {
runTest("aabccccaaa", "a2bc5a3");
runTest("abcdef", "abcdef");
runTest("AAaaBB", "A2a2B2");
}
public static void runTest(String src, String exp) {
String result = compress(src);
if (!result.equals(exp)) {
System.out.printf("Test failed for input: %s%n, expected: %s, actual: %s%n", src, exp, result);
} else {
System.out.printf("Test passed for input: %s%n", src);
}
}
public static String compress(String src) {
//
}
}