A tarefa
Uma sequência S
é construída com o seguinte processo:
- Comece
S
sendo a string vazia. - Insira em alguma posição de
S
uma seqüência de caracteres do formuláriods
, onded
há um dígito diferente de zero es
é uma sequência ded
letras ASCII em minúsculas. Dizemos queds
é um constituinte deS
. - Vá para o passo 2 ou pare.
Sua tarefa é pegar uma string como entrada e gerar seus componentes concatenados em uma única string, na ordem de aparência dos dígitos iniciais. A saída deve ser uma única sequência e não pode haver delimitadores (incluindo novas linhas) entre os constituintes. Você pode escolher se as seqüências de entrada e saída têm aspas. Observe que a entrada e a saída nunca estarão vazias.
Exemplo
Vamos construir uma string com o processo acima. A estrutura dos constituintes é destacada no resultado final.
S = "" // Insert "3abc"
S = "3abc" // Insert "2gh" after 'a'
S = "3a2ghbc" // Insert "1x" before '3'
S = "1x3a2ghbc" // Insert "3tty" after '3'
S = "1x33ttya2ghbc" // Final result
└┘│└┴┴┘│└┴┘││
└────┴───┴┘
A saída é obtida concatenando os constituintes na ordem de seus dígitos. Nesse caso, a saída correta é
"1x3abc3tty2gh"
Regras e pontuação
Você pode escrever um programa completo ou uma função. a menor contagem de bytes vence e as brechas padrão não são permitidas.
Casos de teste
1k -> 1k
4asdf -> 4asdf
111xyz -> 1z1y1x
8whatever3yes -> 8whatever3yes
8what3yesever -> 8whatever3yes
1x33ttya2ghbc -> 1x3abc3tty2gh
63252supernestedstrings2ok -> 6trings3eds2st5perne2su2ok
9long3yes4lo2ngwords11here -> 9longrdsre3yes4lowo2ng1e1h
9abc8de7fg6hi5jk4lm3o2pq1rstuvwxyzabcdefghijklmnopqrst -> 9abcopqrst8deijklmn7fgdefgh6hizabc5jkwxy4lmuv3ost2pq1r
if z in k:m+=N(z)+1
.N=int
realmente economiza 2 bytes. Renomearint
é benéfico somente após 4 usos.Java 8, 152 bytes
Explicação:
Experimente aqui.
fonte
Python 2 ,
151147135 bytesExperimente online!
Explicação:
O código mantém duas listas de grupos constituintes
d and D
,.Cada caractere da sequência é verificado:
d
Quando um grupo tem o mesmo comprimento que seu dígito, o grupo é removido de
d
.No final, o
D
é concatenado, pois os gruposD
estão na ordem original.Exemplo:
fonte