Interpretar intervalos soltos
ListSharp é uma linguagem de programação interpretada que possui muitos recursos, um deles é um criador de intervalo baseado em 1 índice que funciona assim:
Você define um intervalo como (INT) TO (INT)
ou apenas (INT)
onde ambos ou o int único podem ir do valor mínimo ao máximo int32
Em seguida, você pode usar esses intervalos para extrair elementos de uma matriz sem temer ultrapassar seus limites
Portanto:
1 TO 5
gera: {1,2,3,4,5}
3
gera: {3}
As faixas podem ser adicionadas usando o AND
operador
1 TO 5 AND 3 TO 6
gera: {1,2,3,4,5,3,4,5,6}
lembre-se de que também funciona com números negativos
3 TO -3
gera: {3,2,1,0,-1,-2,-3}
O desafio é o seguinte:
Entrada
Uma matriz de caracteres e a cláusula de intervalo definido anteriormente como uma sequência
Resultado
Os elementos nos 1 locais com base no índice (índices inexistentes / negativos são convertidos em um caractere vazio)
Como ganhar
Como um desafio de código-golfe , você deve criar o programa com a menor contagem de bytes para vencer
Foi apontado que caracteres vazios não existem; portanto, você deve ignorá-los (eu apenas os mostrei aqui para facilitar a compreensão e confundir as pessoas)
Casos de teste:
input array is:
{'H','e','l','l','o',' ','W','o','r','l','d'}
range clause:
"1 TO 3" => "Hel"
"5" => "o"
"-10 TO 10" => "Hello Worl"
"0 AND 2 AND 4" => "el"
"8 TO 3" => "oW oll"
"-300 AND 300" => ""
"1 TO 3 AND 3 TO 1" => "HelleH"
"-20 TO 0 AND 1 AND 4" => "Hl"
3 TO 3
sempre será uma entrada e qual é o resultado esperado?
AND
vários intervalos. Além disso, você não respondeu se podemos usar a indexação com base em zero, o que é padrão na maioria dos idiomas.
"0 TO 2"
=>{'H', 'e', 'l'}
?