Dada uma sequência, retorne uma tabela em que a primeira coluna possui as letras exclusivas da sequência em ordem de ocorrência e as colunas subseqüentes listam os índices dessa letra na sequência, usando a indexação com base em zero ou uma. O espaço em branco horizontal não importa, desde que a coluna mais à esquerda esteja alinhada verticalmente. Os índices devem estar em ordem crescente da esquerda para a direita.
Exemplos
Usando indexação baseada em zero e dado "abracadabra", retorne
a 0 3 5 7 10
b 1 8
r 2 9
c 4
d 6
Usando a indexação baseada em um e fornecido "3141592653589793238462643383279503", retorne:
3 1 10 16 18 25 26 28 34
1 2 4
4 3 20 24
5 5 9 11 32
9 6 13 15 31
2 7 17 22 29
6 8 21 23
8 12 19 27
7 14 30
0 33
Respostas:
APL (Dyalog) , 4 bytes
Experimente online!
(
⌸
é de 3 bytes)Usa indexação baseada em 1.
⌸
é o operador principal. Aqui ele se comporta como um operador monádico. Aplica a função,
concatenar o argumento da esquerda com o argumento da direita a cada elemento exclusivo do argumento correto e os índices desse elemento exclusivo no argumento original.fonte
Haskell , 86 bytes
Define uma função,
f
que retorna uma String contendo esta saída.Experimente online!
Quão?
fonte
[' ':show i|(i,c)<-zip[0..]s,c==x]
.kdb + / q , 5 bytes
Builtins são fabulosos
Normalmente jogo golfe em k , mas a versão k de 2 bytes (
=:
) não formata a saída muito bemOs resultados são exatamente os mesmos, mas a formatação é perdida. Para formatar e remover o objeto de retorno, escolhemos mais bytes que a versão q
fonte
Python, 96 bytes
experimente online!
fonte
MATL , 11 bytes
Os índices de saída são baseados em 1.
Experimente online!
fonte
Pitão , 13 bytes
Experimente online!
fonte
Geléia , 7 bytes
Experimente online!
fonte
05AB1E , 14 bytes
Experimente online!
Explicação
fonte
Mathematica, 85 bytes
usando indexação baseada em um
fonte
JavaScript (ES Draft), 77 bytes
88 bytes em navegadores antigos:
fonte
PHP , 82 bytes
Experimente online!
fonte
QBIC , 95 bytes
Explicação
Isso copia partes significativas da minha resposta sobre este desafio :
Exemplo de execução:
fonte
C (clang) , 176 bytes
Claro que esta é a resposta mais longa aqui ...
Experimente online!
fonte
Python 3,
111106 bytesrepl.it
fonte
C # , 138 bytes
fonte
F # , 120 bytes
Uma versão mais legível:
Seq.indexed
cria uma nova sequência contendo tuplas que são compostas pelo elemento original e seu índice com base em 0 na sequência original.O resto é bastante auto-explicativo, o que nunca é uma coisa boa para o golfe!
fonte
R ,
80bytesExperimente online!
uma função anônima; imprime o resultado indexado em 1 com uma nova linha à direita.
fonte
J , 11 bytes
Experimente online!
fonte
Casca , 10 bytes
Experimente online!
Nota: Husk (ou pelo menos o comando
¥
) é mais recente que esse desafio.Explicação
fonte