Исправлен поиск повторяемого символа при 3-ёх и более знаках в числе
This commit is contained in:
parent
51de024743
commit
201ed716ee
|
@ -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()
|
||||
|
|
|
@ -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) {
|
||||
|
|
Loading…
Reference in New Issue