Étant donné une chaîne, renvoyez une table dans laquelle la première colonne a les lettres uniques de la chaîne par ordre d'occurrence et les colonnes suivantes répertorient les indices de cette lettre dans la chaîne, en utilisant une indexation zéro ou une. L'espace horizontal n'a pas d'importance, tant que la colonne la plus à gauche est alignée verticalement. Les indices doivent être en ordre croissant de gauche à droite.
Exemples
En utilisant l'indexation de base zéro et étant donné "abracadabra", retournez
a 0 3 5 7 10
b 1 8
r 2 9
c 4
d 6
En utilisant l'indexation à base unique et en indiquant "3141592653589793238462643383279503", retournez:
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
Réponses:
APL (Dyalog) , 4 octets
Essayez-le en ligne!
(
⌸
est de 3 octets)Utilise l'indexation basée sur 1.
⌸
est l'opérateur clé. Ici, il se comporte comme un opérateur monadique. Il applique la fonction,
, concatène l'argument de gauche avec l'argument de droite, à chaque élément unique dans son argument de droite et les indices de cet élément unique dans l'argument d'origine.la source
Haskell , 86 octets
Définit une fonction,
f
qui renvoie une chaîne contenant cette sortie.Essayez-le en ligne!
Comment?
la source
[' ':show i|(i,c)<-zip[0..]s,c==x]
.kdb + / q , 5 octets
Les bâtis sont fabuleux
Je joue généralement au golf en k , mais la version k à 2 octets (
=:
) ne formate pas bien la sortieLes résultats sont exactement les mêmes, mais la mise en forme est perdue. Pour formater et supprimer l'objet de retour, nous prenons en fait plus d'octets que la version q
la source
Python, 96 octets
essayez-le en ligne!
la source
MATL , 11 octets
Les indices de sortie sont basés sur 1.
Essayez-le en ligne!
la source
Pyth , 13 octets
Essayez-le en ligne!
la source
Gelée , 7 octets
Essayez-le en ligne!
la source
05AB1E , 14 octets
Essayez-le en ligne!
Explication
la source
Mathematica, 85 octets
à l'aide d'une indexation à base unique
la source
JavaScript (ES Draft), 77 octets
88 octets dans les anciens navigateurs:
la source
PHP , 82 octets
Essayez-le en ligne!
la source
QBIC , 95 octets
Explication
Cela copie des parties importantes de ma réponse à ce défi :
Exemple d'exécution:
la source
C (clang) , 176 octets
Bien sûr, c'est la réponse la plus longue ici ...
Essayez-le en ligne!
la source
Python 3,
111106 octetsrepl.it
la source
C # , 138 octets
la source
F # , 120 octets
Une version plus lisible:
Seq.indexed
crée une nouvelle séquence contenant des tuples composés de l'élément d'origine et de son index basé sur 0 dans la séquence d'origine.Le reste est assez explicite, ce qui n'est jamais une bonne chose pour le golf!
la source
R ,
8077 octetsEssayez-le en ligne!
une fonction anonyme; imprime le résultat indexé 1 avec une nouvelle ligne de fin.
la source
J , 11 octets
Essayez-le en ligne!
la source
Husk , 10 octets
Essayez-le en ligne!
Remarque: Husk (ou au moins la commande
¥
) est plus récent que ce défi.Explication
la source