Помогите в решении )

bumfick

Новичок
Пользователь
Дек 18, 2023
2
0
1
Всем привет ,вопрос такой .
Подаеться строка типа 3[a]2[bc] или 3[a2[bc]] , число означает сколько раз нужно умножить на значение в [ ] и нужно вернуть строку в такую форму aaabcbc или abcbcabcbcabcbc .
 

bumfick

Новичок
Пользователь
Дек 18, 2023
2
0
1
Например
Строка: 2[с]3[в]ш
Должнл быть на выходе: «ссвввш»
 

4olshoy_blen

Популярный
Пользователь
Ноя 13, 2022
374
108
43
Python:
def decode_string(s):
    stack = []
    current_num = 0
    current_str = ''

    for char in s:
        if char.isdigit():
            current_num = current_num * 10 + int(char)
        elif char == '[':
            stack.append((current_num, current_str))
            current_num = 0
            current_str = ''
        elif char == ']':
            num, prev_str = stack.pop()
            current_str = prev_str + current_str * num
        else:
            current_str += char

    return current_str


print(decode_string('3[a]2[bc]'))
print(decode_string('3[a2[bc]]'))
print(decode_string('2[с]3[в]ш'))
 
  • Мне нравится
Реакции: regnor

Форум IT Специалистов