Skip to content

Latest commit

 

History

History
 
 

hw02_unpack_string

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Домашнее задание №2 «Распаковка строки»

Необходимо написать Go функцию, осуществляющую примитивную распаковку строки, содержащую повторяющиеся символы/руны, например:

  • "a4bc2d5e" => "aaaabccddddde"
  • "abcd" => "abcd"
  • "45" => "" (некорректная строка)
  • "aaa10b" => "" (некорректная строка)
  • "" => ""

Как видно из примеров, разрешено использование цифр, но не чисел.

В случае если была передана некорректная строка функция должна возвращать ошибку. При необходимости можно выделять дополнительные функции / ошибки.

(*) Дополнительное задание: поддержка экранирования через \:

  • qwe\4\5 => qwe45
  • qwe\45 => qwe44444
  • qwe\\5 => qwe\\\\\

Критерии оценки

  • Пайплайн зелёный - 4 балла
  • Добавлены новые юнит-тесты - до 4 баллов
  • Понятность и чистота кода - до 2 баллов
  • Дополнительное задание на баллы не влияет

Зачёт от 7 баллов

Подсказки

  • unicode.IsDigit
  • strings.Builder
  • strings.Repeat
  • strconv.Atoi