Dada uma sequência s
e um número não negativo n
menor que o comprimento de s
, produza o caractere na n
-ésima posição de s
.
Indexação 0 e indexação 1 são permitidas. Para a indexação 1, n
será positivo e menor ou igual ao comprimento de s
.
s
consistirá apenas em caracteres imprimíveis.
Qualquer entrada / saída razoável é permitida. Aplicam-se brechas padrão .
Casos de teste (indexação 0):
n s output
0 "abcde" a
1 "abcde" b
2 "a != b" !
3 "+-*/" /
4 "314159" 5
Casos de teste (indexação 1):
n s output
1 "abcde" a
2 "abcde" b
3 "a != b" !
4 "+-*/" /
5 "314159" 5
Isso é código-golfe , então a resposta mais curta em bytes vence.
Respostas:
MATL , 1 byte
Experimente online!
Bem, é difícil torná-lo muito mais simples.
)
indexa a primeira entrada, usando o segundo valor de entrada. Isso é indexado em 1.fonte
Alice , 5 bytes
Experimente online!
Como de costume, é muito mais curto se evitarmos o modo Ordinal e usarmos um formato de entrada abismal. Aqui, o ponto de código do primeiro caractere é usado como a entrada inteira . O restante da entrada é a sequência. O índice é baseado em 1.
Explicação
fonte
abysmal
- Eu pensei que você fez isso xDPython, 15 bytes
ou
Ambos recebem 2 argumentos: a string e o índice. Indexado a 0.
fonte
Haskell, 4 bytes
Indexação baseada em 0. Exemplo de uso:
(!!) "Hello" 1
->'e'
.fonte
Oitava, 10 bytes
Pega uma string
s
e um númeron
como entrada e retorna on
th caractere des
.fonte
Retina ,
282019 bytesEconomizou 8 bytes graças a @MartinEnder por não usar grupos de balanceamento
Economizou 1 byte graças a @ mbomb007 usando em
^.+
vez de^\d+
Experimente online!
O programa é indexado em 0.
fonte
\d
para.
para salvar um byte.05AB1E , 1 byte
Indexado a 0.
Experimente online!
fonte
Alice , 10 bytes
Experimente online!
Espera a sequência na primeira linha e o índice baseado em 0 na segunda linha.
Explicação
Apesar de sua riqueza de embutidos, a indexação de strings não existe em Alice. O motivo é que ele requer um número inteiro e um parâmetro de string, e todos os comandos em Alice são estritamente números inteiros para inteiros ou cadeias para cadeias.
Em geral, a principal maneira de executar qualquer operação em cadeias que exijam ou resultem em números inteiros é armazenar a cadeia na fita no modo Ordinal, que você pode manipular com números inteiros no modo Cardinal.
fonte
Geléia , 1 byte
Experimente online!
fonte
Prolog (SWI) ,
4037 bytesExperimente online!
fonte
Brachylog , 2 bytes
Experimente online!
Explicação
∋
unifica sua saída com um elemento da entrada. Com₎
como subscrito, ele unificará sua saída com oI
elemento th deS
, com[S,I]
como entrada.fonte
Cubix , 8 bytes
Esta solução é 1 indexada. A entrada deve consistir primeiro em um número, depois em um separador (que não é um dígito ou um
.
) e depois na sequência.Experimente online!
fonte
CJam , 3 bytes
Experimente online!
=
é o interno para indexação de lista / string.fonte
Japonês , 2 bytes
Esta solução é indexada em 0.
Experimente online!
fonte
SILOS , 43 bytes
Experimente online!
Simples o suficiente.
fonte
BF , 9 bytes
O índice é obtido pelo código de caractere de um caractere (como o envio de Alice). Depois disso, temos a string.
Experimente online!
O link TIO usa um wrapper Bash e a entrada pode ser alterada no arquivo de cabeçalho (o motivo do wrapper é para que possamos ver os bytes).
fonte
JavaScript,
1110 bytesUsa indexação baseada em 0.
-1 byte graças a @Leaky Nun
fonte
s=>i=>s[i]
para salvar um byte> <> , 13 + 1 = 14 bytes
+1 para o
-v
sinalizador receber entradaObrigado a @steenbergh por me notificar sobre o
-v
bandeira e salvar 3 bytes!Insira o índice com o argumento da linha de comandos
-v [index]
(indexado 0) e insira a sequência através de stdin.Experimente online!
Explicação
A pilha começa com o índice no topo.
:
duplica.?
ignora o próximo caractere se o índice for 0. (Retirando-o da pilha)Se for zero,
\
reflete a direção para descer. Então, é refletido à direita com a próxima\
. Ele envolve e executai
nput um caractere,o
utput e;
interrompe a execução.Caso contrário,
!
pula a próxima instrução, para que ela não desça.i~
insere um caractere e o descarta imediatamente.1
empurra 1.-
subtrai1
do índice, portanto, um caractere na entrada é consumido e o índice é decrementado. O programa volta para o arquivo:
.fonte
-v <x>
parâmetro da linha de comando, que inicializa a pilha para manter o<x>
início do programa. Experimente onlineCenoura , 16 bytes
Experimente online!
O formato de entrada é o seguinte:
E o programa é 1 indexado.
Explicação
O Carrot possui várias variáveis globais, uma para cada tipo: string, float e array (outras a serem implementadas em breve). O programa inicia no modo de sequência, onde todos os operadores afetam a variável de sequência global. E eu chamo essas variáveis de "pilha".
(Exemplo de entrada:
abcdef\n3
)Agora isso retorna uma matriz de um elemento contendo uma sequência de comprimento um, mas é mostrada como uma sequência no site.
Se realmente quiséssemos fornecer o resultado como uma string, poderíamos fazê-lo facilmente
S","
no final, mas isso não importa, porque a saída ainda parece a mesma no intérprete.fonte
Lote, 32 bytes
Lê
s
de STDIN e usan
como um parâmetro de linha de comando.fonte
GolfScript ,
74 bytesExperimente online!
Eu sugiro o GolfScript, então valorizo a ajuda de Martin Ender .
fonte
[
.~1/=
Turtlèd , 9 bytes
Experimente online!
explicação:
Primeiro, Turtlèd é baseado em grade, com uma coisa de tartaruga. Existem células da grade em que a tartaruga pode se mover para a esquerda, para cima, para baixo e para a direita, e pode escrever coisas nas células da grade.
fonte
Clojure, 3
: P O que você pode fazer quando houver um built-in para isso? Isso funciona em listas, vetores, strings e sequências. É O (1) ou O (n), dependendo do tipo de dados usado.
fonte
sed , 31 bytes
Experimente online!
Entrada: índice e a sequência, separados por um espaço. Índice em unário, mas com base em zero.
fonte
Dyvil , 4 bytes
Cria uma função anônima que leva um
String
e umint
e retorna umchar
.Uso:
fonte
Pip , 3 bytes
Isso é baseado em 0. Experimente online!
fonte
QBasic 4.5, 24 bytes
Bem direto.
fonte
Vim, 8 bytes
Como o V é compatível com versões anteriores, você pode experimentá-lo online!
fonte
Mathematica, 18 bytes
Solução básica, mas infelizmente o nome da função é bastante longo.
fonte
C #, 11 bytes
fonte