Исправлен поиск повторяемого символа при 3-ёх и более знаках в числе

This commit is contained in:
Илья Смышляев 2023-11-05 15:53:16 +03:00
parent 51de024743
commit 201ed716ee
2 changed files with 4 additions and 3 deletions

View File

@ -61,9 +61,9 @@ func Unpack(str string) (string, error) {
}
case number:
if unicode.IsDigit(char) {
var n = strconv.Itoa(numOfRepeat)
numOfRepeat, _ = strconv.Atoi(n + string(char))
repStr, err := repeatRune(runeArray[i-2], numOfRepeat)
var n = strconv.Itoa(numOfRepeat) + string(char)
numOfRepeat, _ = strconv.Atoi(n)
repStr, err := repeatRune(runeArray[i-len(n)], numOfRepeat)
if err != nil {
// Если функция repeatRune возвращает ошибку, удаляем последний символ из результата.
res := result.String()

View File

@ -56,6 +56,7 @@ func TestStringContainsNumber(t *testing.T) {
}{
{input: "aaa10b", expected: "aaaaaaaaaaaab"},
{input: "a12b4", expected: "aaaaaaaaaaaabbbb"},
{input: "a100", expected: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},
}
for _, tc := range testStrings {
t.Run(tc.input, func(t *testing.T) {