Я люблю разгадывать головоломки с детства. Довольно ботаник! Я знаю. Ничто не сравнится с эйфорией успеха, когда вы решаете головоломку, особенно когда вы можете написать код, который сделает это за вас.

Хотя я очень занят работой, мне все еще трудно время от времени сопротивляться этим вызовам. Я делюсь проблемой с решением в надежде, что это может кому-то помочь.

The Challenge
Decompress a compressed string. Your input is a compressed string of the format number[string] and the decompressed output form should be the string written number times. For example:
The input 3[abc]4[ab]c 
Would be output as abcabcabcababababc
Learning objectives
This question gives you the chance to practice with strings, recursion, algorithm, compilers, automata, and loops. It’s also an opportunity to work on coding with better efficiency.

Мое решение ниже. Если у вас есть лучшее решение, поделитесь им в комментариях. Я хотел бы научиться!
Примечание. У меня не было времени добавить модульные тесты :(