Dada una cadena, devuelva una tabla donde la primera columna tiene las letras únicas de la cadena en orden de ocurrencia y las columnas posteriores enumeran los índices de esa letra en la cadena, usando indexación basada en cero o en una. El espacio en blanco horizontal no importa, siempre que la columna de la izquierda esté alineada verticalmente. Los índices deben estar en orden ascendente de izquierda a derecha.
Ejemplos
Usando indexación basada en cero y dado "abracadabra", regrese
a 0 3 5 7 10
b 1 8
r 2 9
c 4
d 6
Usando indexación basada en uno y dado "3141592653589793238462643383279503", devuelva:
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
Respuestas:
APL (Dyalog) , 4 bytes
Pruébalo en línea!
(
⌸
son 3 bytes)Utiliza indexación basada en 1.
⌸
Es el operador clave. Aquí se comporta como un operador monádico. Aplica la función,
, concatenar el argumento izquierdo con el argumento derecho, a cada elemento único en su argumento derecho y los índices de ese elemento único en el argumento original.fuente
Haskell , 86 bytes
Define una función,
f
que devuelve una Cadena que contiene esta salida.Pruébalo en línea!
¿Cómo?
fuente
[' ':show i|(i,c)<-zip[0..]s,c==x]
.kdb + / q , 5 bytes
Las construcciones son fabulosas
Normalmente juego golf en k , pero la versión k de 2 bytes (
=:
) no formatea bien la salidaLos resultados son exactamente los mismos, pero se pierde el formato. Para formatear y eliminar el objeto devuelto, en realidad recogemos más bytes que la versión q
fuente
Python, 96 bytes
Pruébalo en línea!
fuente
MATL , 11 bytes
Los índices de salida están basados en 1.
Pruébalo en línea!
fuente
Pyth , 13 bytes
Pruébalo en línea!
fuente
Jalea , 7 bytes
Pruébalo en línea!
fuente
05AB1E , 14 bytes
Pruébalo en línea!
Explicación
fuente
Mathematica, 85 bytes
usando indexación basada en uno
fuente
JavaScript (borrador ES), 77 bytes
88 bytes en navegadores antiguos:
fuente
PHP , 82 bytes
Pruébalo en línea!
fuente
QBIC , 95 bytes
Explicación
Esto copia partes significativas de mi respuesta en este desafío :
Ejecución de muestra:
fuente
C (clang) , 176 bytes
Por supuesto, esta es la respuesta más larga aquí ...
Pruébalo en línea!
fuente
Python 3,
111106 bytesrepl.it
fuente
C # , 138 bytes
fuente
F # , 120 bytes
Una versión más legible:
Seq.indexed
crea una nueva secuencia que contiene tuplas que se componen del elemento original y su índice basado en 0 en la secuencia original.¡El resto se explica por sí mismo, lo que nunca es bueno para el golf!
fuente
R ,
8077 bytesPruébalo en línea!
una función anónima; imprime el resultado 1 indexado con una nueva línea final.
fuente
J , 11 bytes
Pruébalo en línea!
fuente
Casco , 10 bytes
Pruébalo en línea!
Nota: Husk (o al menos el comando
¥
) es más nuevo que este desafío.Explicación
fuente