Compressão de string com restauração por regra de repetições
Go
Hard
strings
Tarefa «Compressão de string com restauração por regra de repetições»
Dada uma string composta por letras do alfabeto latino (a-z) e dígitos (0-9). A string é codificada de acordo com a seguinte regra: cada grupo de caracteres seguido por um número indica que esse grupo deve ser repetido a quantidade de vezes especificada. Por exemplo, 'ab3c2' significa 'abababcc'. O grupo pode ser um único caractere ou uma sequência de caracteres entre colchetes. Se o grupo não contiver colchetes, o número se refere ao último caractere. Se o número estiver ausente, considera-se que a repetição é igual a 1. É necessário escrever um programa que receba a string codificada e exiba a string decodificada. O comprimento da string decodificada não excede 10^6 caracteres.
Formato de Entrada
Uma única linha contendo a sequência codificada. O comprimento da linha não excede 1000 caracteres.
Formato de Saída
Uma única linha — a sequência decodificada.
Exemplos
Exemplo 1
ENTRADA
x2y3z
SAÍDA
xxyyyz
Exemplo 2
ENTRADA
a2b[cd]3e
SAÍDA
aabcdcdcde
Exemplo 3
ENTRADA
5
1 null root 10
2 1 child1 5
3 1 child2 7
4 2 grandchild 3
5 3 another 2
SAÍDA
main.go