Skip to content

Instantly share code, notes, and snippets.

@lrlucena
Last active April 16, 2022 02:37
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lrlucena/cac7efd3e90b5bd6cc969845651d429e to your computer and use it in GitHub Desktop.
Save lrlucena/cac7efd3e90b5bd6cc969845651d429e to your computer and use it in GitHub Desktop.
# potigol.github.io
# https://twitter.com/LucasTeles42/status/1514226905809100802
buracos(entrada, saída: Lista[Caractere]): Texto =
se entrada.tamanho < 2 então
saída.inverta.junte("")
senãose entrada[2] - entrada[1] > 1 então
c = (entrada[1] + 1).caractere
buracos(c :: entrada.cauda, c :: saída)
senão
buracos(entrada.cauda, saída)
fim
entrada = leia_texto.ordene.lista
escreva buracos(entrada, [])
buraco(a: (Texto, Texto)) = escolha a
caso (x, y) =>
para c de x.último + 1 até y.primeiro - 1 gere
c.caractere
fim.junte("")
fim
entrada = leia_texto.ordene
sequencias = entrada.divida_quando((a, b) => b - a > 1)
buracos = sequencias.zip(sequencias.cauda).mapeie(buraco).junte("")
escreva buracos
entrada = leia_texto.ordene
primeira, última = entrada[1], entrada[-1]
letras = para letra de primeira até última gere
letra
fim.junte("")
escreva letras - entrada
escreva ((a:Texto) => para c de a[1] até a[-1] gere c fim.junte() - a)(leia_texto.ordene)
escreva ((a:Texto) => para c de a.min até a.max gere c fim.junte() - a)(leia_texto)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment