Criador casual de strings

A função recebe uma string com alguns colchetes. Você precisa construir a string resultante usando a regra: k[substring] é substituído pela sequência substring dentro dos colchetes, repetida exatamente k vezes.

Exemplos

string_builder("3[a]2[bc]") ➞ "aaabcbc"

string_builder("3[a2[c]]") ➞ "accaccacc"

string_builder("2[abc]3[cd]ef") ➞ "abcabccdcdcdef"

Notas

k é um inteiro positivo.