Étant donné une chaîne s
et un nombre non négatif n
inférieur à la longueur de s
, affichez le caractère à la n
-ième position de s
.
L'indexation 0 et l'indexation 1 sont autorisées. Pour l'indexation 1, n
sera positif et inférieur ou égal à la longueur de s
.
s
sera composé uniquement de caractères imprimables.
Toute entrée / sortie raisonnable est autorisée. Des échappatoires standard s'appliquent.
Cas de test (indexation 0):
n s output
0 "abcde" a
1 "abcde" b
2 "a != b" !
3 "+-*/" /
4 "314159" 5
Cas de test (1-indexation):
n s output
1 "abcde" a
2 "abcde" b
3 "a != b" !
4 "+-*/" /
5 "314159" 5
C'est le code-golf , donc la réponse la plus courte en octets l'emporte.
Réponses:
MATL , 1 octet
Essayez-le en ligne!
Eh bien, difficile de le rendre beaucoup plus simple.
)
indexe la première entrée, en utilisant la deuxième valeur d'entrée. Ceci est indexé 1.la source
Alice , 5 octets
Essayez-le en ligne!
Comme d'habitude, il est beaucoup plus court si nous évitons le mode Ordinal et utilisons un format d'entrée abyssal. Ici, le point de code du premier caractère est utilisé comme entrée entière . Le reste de l'entrée est la chaîne. L'index est basé sur 1.
Explication
la source
abysmal
- Je pensais que tu l'avais fait xDPython, 15 octets
ou
Les deux prennent 2 arguments: la chaîne et l'index. 0 indexé.
la source
Haskell, 4 octets
Indexation basée sur 0. Exemple d'utilisation:
(!!) "Hello" 1
->'e'
.la source
Octave, 10 octets
Prend une chaîne
s
et un nombren
en entrée et renvoie len
e caractère des
.la source
Rétine ,
282019 octets8 octets enregistrés grâce à @MartinEnder en n'utilisant pas de groupes d'équilibrage
1 octet enregistré grâce à @ mbomb007 en utilisant
^.+
au lieu de^\d+
Essayez-le en ligne!
Le programme est indexé 0.
la source
\d
à.
pour enregistrer un octet.05AB1E , 1 octet
0 indexé.
Essayez-le en ligne!
la source
Alice , 10 octets
Essayez-le en ligne!
Attend la chaîne sur la première ligne et l'index basé sur 0 sur la deuxième ligne.
Explication
Malgré sa richesse intégrée, l'indexation des chaînes n'existe pas dans Alice. La raison en est qu'elle nécessite à la fois un entier et un paramètre de chaîne, et toutes les commandes dans Alice sont strictement des entiers en entiers ou des chaînes en chaînes.
En général, la principale façon d'effectuer des opérations sur des chaînes qui nécessitent ou entraînent des nombres entiers est de stocker la chaîne sur la bande en mode Ordinal, que vous pouvez ensuite manipuler avec des nombres entiers en mode Cardinal.
la source
Gelée , 1 octet
Essayez-le en ligne!
la source
Prolog (SWI) ,
4037 octetsEssayez-le en ligne!
la source
Brachylog , 2 octets
Essayez-le en ligne!
Explication
∋
unifie sa sortie avec un élément de l'entrée. Avec₎
comme indice, il unifiera sa sortie avec leI
e élément deS
, avec[S,I]
comme entrée.la source
Cubix , 8 octets
Cette solution est indexée 1. L'entrée doit être composée d'un nombre d'abord, puis d'un séparateur (qui n'est pas un chiffre ou un
.
), puis de la chaîne.Essayez-le en ligne!
la source
CJam , 3 octets
Essayez-le en ligne!
=
est la fonction intégrée pour l'indexation de liste / chaîne.la source
Japt , 2 octets
Cette solution est indexée 0.
Essayez-le en ligne!
la source
SILOS , 43 octets
Essayez-le en ligne!
Assez simple.
la source
BF, 9 bytes
The index is taken via the character code of a char (like the Alice submission). Following that, we have the string.
Try it online!
The TIO link uses a Bash wrapper and the input can be changed in the header file (the reason for the wrapper is so that we can see the bytes).
la source
JavaScript,
1110 bytesUses 0-based indexing.
-1 byte thanks to @Leaky Nun
la source
s=>i=>s[i]
to save a byte><>, 13 + 1 = 14 bytes
+1 for
-v
flag to take inputThanks to @steenbergh for notifying me about the
-v
flag and saving me 3 bytes!Input the index with the command line argument
-v [index]
(0-indexed) and input the string through stdin.Try it online!
Explanation
The stack starts with the index on top.
:
duplicates it.?
ignores the next character if the index is 0. (Popping it off the stack)If it is zero,
\
reflects the direction to go down. Then, it is reflected to the right with the next\
. It wraps around and executesi
nput a character,o
utput it and;
halts execution.If not,
!
skips the next instruction, so it doesn't go down.i~
inputs a character and then immediately discards it.1
pushes 1.-
subtractes1
from the index, so one character in the input is consumed and the index is decremented. The program loops around back to the:
.la source
-v <x>
command line parameter, which initialises the stack to hold<x>
on program start. Try it onlineCarrot, 16 bytes
Try it online!
The input format is as such:
And the program is 1-indexed.
Explanation
Carrot has several global variables, one for each type: string, float and array (others to be implemented soon). The program starts in string-mode, where all the operators will affect the global string variable. And I call these variables the "stack".
(Example input:
abcdef\n3
)Now this returns a one element array containing a string of length one, but it is shown as a string in the website.
If we really wanted to give the result as a string, we could easily do
S","
at the end, but it doesn't matter because the output still looks the same on the interpreter.la source
Batch, 32 bytes
Reads
s
from STDIN and takesn
as a command-line parameter.la source
GolfScript,
74 bytesTry it online!
I suck in GolfScript, so I value Martin Ender's help.
la source
[
.~1/=
Turtlèd, 9 bytes
Try it online!
explanation:
First off, Turtlèd is grid based, with a turtle thing. There are grid cells the turtle can move left, up, down, and right on, and can write things on the grid cells.
la source
Clojure, 3
:P What can you do when there is a built-in for this? This works on lists, vectors, strings and sequences. It is either O(1) or O(n), depending on the used datatype.
la source
sed, 31 bytes
Try it online!
Input: index and the string, separated by one space. Index in unary, but zero-based.
la source
Dyvil, 4 Bytes
Creates an anonymous function that takes a
String
and anint
and returns achar
.Usage:
la source
Pip, 3 bytes
This is 0-based. Try it online!
la source
QBasic 4.5, 24 bytes
Pretty straightforward.
la source
Vim, 8 bytes
Since V is backwards compatible, you can Try it online!
la source
Mathematica, 18 bytes
Basic solution, but unfortunately the function name is quite long.
la source
C#, 11 bytes
la source