Если строка s
и неотрицательное число n
меньше длины s
, выведите символ в n
-ой позиции s
.
0-индексация и 1-индексация разрешены. Для 1-индексации n
будет положительным и меньше или равно длине s
.
s
будет состоять только из печатных символов.
Любой разумный ввод / вывод разрешен. Применяются стандартные лазейки .
Тестовые случаи (0-индексация):
n s output
0 "abcde" a
1 "abcde" b
2 "a != b" !
3 "+-*/" /
4 "314159" 5
Тестовые случаи (1-индексация):
n s output
1 "abcde" a
2 "abcde" b
3 "a != b" !
4 "+-*/" /
5 "314159" 5
Это код-гольф , поэтому выигрывает самый короткий ответ в байтах.
Ответы:
MATL , 1 байт
Попробуйте онлайн!
Ну, трудно сделать это намного проще.
)
индексирует первый вход, используя второе входное значение. Это 1-индексированный.источник
Алиса , 5 байт
Попробуйте онлайн!
Как обычно, это намного короче, если мы избегаем обычного режима и используем ужасный формат ввода. Здесь первый кодовая точка символа используется в качестве целочисленного ввода . Остальная часть ввода - строка. Индекс основан на 1.
объяснение
источник
abysmal
- Я думал, что ты сделал это xDPython, 15 байт
или
Оба принимают 2 аргумента: строку и индекс. 0 индексированные.
источник
Haskell, 4 байта
Индексирование на основе 0. Пример использования:
(!!) "Hello" 1
->'e'
.источник
Октава, 10 байт
Принимает строку
s
и число вn
качестве входных данных и возвращаетn
символ ths
.источник
Сетчатка ,
282019 байтБлагодаря @MartinEnder удалось сэкономить 8 байт благодаря отсутствию балансировочных групп.
Сохранено 1 байт благодаря @ mbomb007 с использованием
^.+
вместо^\d+
Попробуйте онлайн!
Программа 0 проиндексирована.
источник
\d
чтобы.
сохранить байт.05AB1E , 1 байт
0 индексированные.
Попробуйте онлайн!
источник
Алиса , 10 байт
Попробуйте онлайн!
Ожидается строка в первой строке и индекс на основе 0 во второй строке.
объяснение
Несмотря на богатство встроенных функций, в Алисе нет индексации строк. Причина в том, что для этого требуются как целое число, так и строковый параметр, и все команды в Алисе являются строго целыми числами в целые числа или строками в строки.
В общем, основным способом выполнения любых операций со строками, которые требуют или приводят к целым числам, является сохранение строки на ленте в обычном режиме, которой затем можно манипулировать с целыми числами в кардинальном режиме.
источник
Желе , 1 байт
Попробуйте онлайн!
источник
Пролог (SWI) ,
4037 байтПопробуйте онлайн!
источник
Брахилог , 2 байта
Попробуйте онлайн!
объяснение
∋
объединяет свой вывод с элементом Input. С₎
индексом as, он объединит свои выходные данные сI
элементом thS
, со[S,I]
входными данными.источник
Cubix , 8 байт
Это решение 1-проиндексировано. Сначала ввод должен состоять из числа, затем разделителя (который не является цифрой или а
.
), а затем строки.Попробуйте онлайн!
источник
CJam , 3 байта
Попробуйте онлайн!
=
является встроенным для индексации списка / строки.источник
Japt , 2 байта
Это решение 0-проиндексировано.
Попробуйте онлайн!
источник
SILOS , 43 байта
Попробуйте онлайн!
Достаточно просто.
источник
BF , 9 байт
Индекс берется через символьный код символа (например, представление Алисы). После этого у нас есть строка.
Попробуйте онлайн!
Ссылка TIO использует оболочку Bash, и входные данные могут быть изменены в заголовочном файле (причина для оболочки заключается в том, чтобы мы могли видеть байты).
источник
JavaScript,
1110 байтИспользует индексирование на основе 0.
-1 байт благодаря @Leaky Nun
источник
s=>i=>s[i]
для сохранения байта> <> , 13 + 1 = 14 байтов
+1 для
-v
флага, чтобы принять вводСпасибо @steenbergh за уведомление о
-v
флаге и сэкономили мне 3 байта!Введите индекс с аргументом командной строки
-v [index]
(0-indexed) и введите строку через stdin.Попробуйте онлайн!
объяснение
Стек начинается с индекса сверху.
:
дублирует это.?
игнорирует следующий символ, если индекс равен 0. (выталкивает его из стека)Если он равен нулю,
\
отражает направление спуска. Затем это отражается справа со следующим\
. Он оборачивается и выполняетi
nput символ,o
utput его и;
останавливает выполнение.Если нет,
!
пропустите следующую инструкцию, чтобы она не пошла вниз.i~
вводит символ, а затем сразу же отбрасывает его.1
толкает 1.-
вычитает1
из индекса, поэтому один символ на входе потребляется, и индекс уменьшается. Программа возвращается к:
.источник
-v <x>
командной строки, который инициализирует стек для хранения<x>
при запуске программы. Попробуйте онлайнМорковь , 16 байтов
Попробуйте онлайн!
Формат ввода таков:
И программа 1-х проиндексирована.
объяснение
Carrot имеет несколько глобальных переменных, по одной для каждого типа: string, float и array (другие будут реализованы в ближайшее время). Программа запускается в строковом режиме, где все операторы влияют на глобальную строковую переменную. И я называю эти переменные «стеком».
(Пример входных данных:
abcdef\n3
)Теперь это возвращает массив из одного элемента, содержащий строку длины один, но он отображается в виде строки на веб-сайте.
Если бы мы действительно хотели дать результат в виде строки, мы могли бы легко сделать это
S","
в конце, но это не имеет значения, потому что выходные данные на интерпретаторе все равно выглядят одинаково.источник
Пакетная, 32 байта
Читает
s
из STDIN и принимаетn
в качестве параметра командной строки.источник
GolfScript ,
74 байтаПопробуйте онлайн!
Я впитываю GolfScript, поэтому ценю помощь Мартина Эндера .
источник
[
.~1/=
Turtlèd , 9 байт
Попробуйте онлайн!
объяснение:
Прежде всего, Turtlèd основан на сетке, с вещами черепахи. Существуют ячейки сетки, которые черепаха может перемещать влево, вверх, вниз и вправо, и может что-то записывать в ячейки сетки.
источник
Clojure, 3
: P Что можно сделать, когда для этого есть встроенный ? Это работает со списками, векторами, строками и последовательностями. Это либо O (1), либо O (n), в зависимости от используемого типа данных.
источник
sed , 31 байт
Попробуйте онлайн!
Ввод: индекс и строка, разделенные одним пробелом. Индекс в одинарном, но с нуля.
источник
Dyvil , 4 байта
Создает анонимную функцию, которая принимает
String
иint
возвращает и возвращаетchar
.Использование:
источник
Пип , 3 байта
Это на основе 0. Попробуйте онлайн!
источник
QBasic 4.5, 24 байта
Довольно просто.
источник
Vim, 8 байт
Поскольку V имеет обратную совместимость, вы можете попробовать это онлайн!
источник
Mathematica, 18 байт
Базовое решение, но, к сожалению, имя функции довольно длинное.
источник
C #, 11 байт
источник