Как решить эту задачу из Codewars?

Рейтинг: -6Ответов: 1Опубликовано: 02.03.2023

Условие

Задача из Codewars, string incrementer Как решить эту задачу, используя Java?

Ответы

▲ 2Принят
  1. Проверяете, является ли входная строка str непустой и оканчивается ли на цифру (можно использовать методы класса String: length(), isEmpty(), length(), charAt(int index), и Character::isDigit).
  2. Если условие не выполняется, возвращаете исходную строку str с добавленной единицей: str + "1".
  3. Создаёте экземпляр StringBuilder, чтобы проще было менять символы внутри строки.
  4. Идёте от конца строки, берёте значение цифрового символа (Character::getNumericValue), прибавляете 1 к символу в текущей позиции (с учётом остатка от деления на 10), обновляете символ в текущей позиции, проверяете наличие переноса в старший разряд.
  5. Если есть перенос, а строка закончилась или не найден очередной цифровой символ, вставить 1 в текущую позицию (StringBuilder::insert).
  6. Возвращаете строку, полученную из StringBuilder.

Реализация в коде не приводится в педагогических целях.