Diberikan string s
dan angka non-negatif n
kurang dari panjangnya s
, menampilkan karakter pada n
posisi -th dari s
.
Pengindeksan 0 dan pengindeksan 1 diizinkan. Untuk pengindeksan 1, n
akan positif dan kurang dari atau sama dengan panjang s
.
s
hanya akan terdiri dari karakter yang dapat dicetak.
Input / output yang masuk akal diizinkan. Celah standar berlaku.
Testcases (pengindeksan 0):
n s output
0 "abcde" a
1 "abcde" b
2 "a != b" !
3 "+-*/" /
4 "314159" 5
Testcases (1-indexing):
n s output
1 "abcde" a
2 "abcde" b
3 "a != b" !
4 "+-*/" /
5 "314159" 5
Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.
Jawaban:
MATL , 1 byte
Cobalah online!
Yah, sulit membuatnya lebih sederhana.
)
mengindeks input pertama, menggunakan nilai input kedua. Ini 1-diindeks.sumber
Alice , 5 byte
Cobalah online!
Seperti biasa itu jauh lebih pendek jika kita menghindari mode Ordinal dan menggunakan format input yang buruk. Di sini, titik kode karakter pertama digunakan sebagai input integer . Sisa dari input adalah string. Indeks ini berbasis 1.
Penjelasan
sumber
abysmal
- Saya pikir Anda membuatnya xDPython, 15 byte
atau
Keduanya mengambil 2 argumen: string dan indeks. Diindeks 0.
sumber
Haskell, 4 byte
Pengindeksan berbasis 0. Contoh penggunaan:
(!!) "Hello" 1
->'e'
.sumber
Oktaf, 10 byte
Mengambil string
s
, dan angkan
sebagai input, dan mengembalikann
karakter ths
.sumber
Retina ,
282019 byteDisimpan 8 byte berkat @MartinEnder dengan tidak menggunakan grup penyeimbang
Disimpan 1 byte berkat @ mbomb007 dengan menggunakan
^.+
alih-alih^\d+
Cobalah online!
Program ini diindeks 0.
sumber
\d
untuk.
menyimpan byte.05AB1E , 1 byte
Diindeks 0.
Cobalah online!
sumber
Alice , 10 byte
Cobalah online!
Mengharapkan string pada baris pertama dan indeks berbasis 0 pada baris kedua.
Penjelasan
Terlepas dari kekayaan bawaannya, pengindeksan string tidak ada di Alice. Alasannya adalah karena ia membutuhkan integer dan parameter string, dan semua perintah di Alice benar-benar integer ke integer atau string ke string.
Secara umum, cara utama untuk melakukan operasi pada string yang membutuhkan atau menghasilkan bilangan bulat adalah dengan menyimpan string pada pita dalam mode Ordinal, yang kemudian dapat Anda manipulasi dengan bilangan bulat dalam mode Kardinal.
sumber
Jelly , 1 byte
Cobalah online!
sumber
Prolog (SWI) ,
4037 byteCobalah online!
sumber
Brachylog , 2 byte
Cobalah online!
Penjelasan
∋
menyatukan outputnya dengan elemen Input. Dengan₎
sebagai subskrip, ia akan menyatukan outputnya denganI
elemen thS
, dengan[S,I]
sebagai input.sumber
Cubix , 8 byte
Solusi ini diindeks 1. Input harus terdiri dari angka pertama, kemudian pemisah (yang bukan digit atau a
.
) dan kemudian string.Cobalah online!
sumber
CJam , 3 byte
Cobalah online!
=
adalah built-in untuk pengindeksan daftar / string.sumber
Japt , 2 byte
Solusi ini diindeks 0.
Cobalah online!
sumber
SILOS , 43 byte
Cobalah online!
Cukup sederhana.
sumber
BF , 9 byte
Indeks diambil melalui kode karakter char (seperti pengiriman Alice). Setelah itu, kami memiliki string.
Cobalah online!
TIO link menggunakan pembungkus Bash dan input dapat diubah dalam file header (alasan untuk pembungkus adalah agar kita dapat melihat byte).
sumber
JavaScript,
1110 byteMenggunakan pengindeksan berbasis 0.
-1 byte terima kasih kepada @Leaky Nun
sumber
s=>i=>s[i]
untuk menyimpan byte> <> , 13 + 1 = 14 byte
+1 untuk
-v
bendera untuk mengambil inputTerima kasih kepada @steenbergh karena memberi tahu saya tentang
-v
bendera dan menyelamatkan saya 3 byte!Masukkan indeks dengan argumen baris perintah
-v [index]
(0-diindeks) dan masukkan string melalui stdin.Cobalah online!
Penjelasan
Tumpukan dimulai dengan indeks di atas.
:
duplikat itu.?
abaikan karakter berikutnya jika indeksnya adalah 0. (Popping itu dari tumpukan)Jika itu nol,
\
mencerminkan arah untuk turun. Kemudian, itu tercermin ke kanan dengan yang berikutnya\
. Itu membungkus dan mengeksekusii
karakter nput, mengucapkano
dan;
menghentikan eksekusi.Jika tidak,
!
lewati instruksi berikutnya, sehingga tidak turun.i~
memasukkan karakter dan kemudian segera membuangnya.1
mendorong 1.-
mengurangi1
dari indeks, sehingga satu karakter dalam input dikonsumsi dan indeks dikurangi. Program loop kembali ke:
.sumber
-v <x>
parameter baris perintah, yang menginisialisasi tumpukan untuk menahan<x>
pada awal program. Cobalah onlineWortel , 16 byte
Cobalah online!
Format inputnya adalah sebagai berikut:
Dan program ini 1-diindeks.
Penjelasan
Wortel memiliki beberapa variabel global, satu untuk setiap jenis: string, float, dan array (lainnya akan segera diimplementasikan). Program dimulai dalam mode string, di mana semua operator akan mempengaruhi variabel string global. Dan saya menyebut variabel-variabel ini "tumpukan".
(Contoh masukan:
abcdef\n3
)Sekarang ini mengembalikan satu array elemen yang berisi string panjang satu, tetapi ditampilkan sebagai string di situs web.
Jika kita benar-benar ingin memberikan hasil sebagai string, kita dapat dengan mudah melakukannya
S","
pada akhirnya, tetapi tidak masalah karena outputnya masih terlihat sama pada interpreter.sumber
Batch, 32 byte
Membaca
s
dari STDIN dan mengambiln
sebagai parameter baris perintah.sumber
GolfScript ,
74 byteCobalah online!
Saya payah dalam GolfScript, jadi saya menghargai bantuan Martin Ender .
sumber
[
.~1/=
Turtlèd , 9 byte
Cobalah online!
penjelasan:
Pertama, Turtlèd berbasis grid, dengan benda penyu. Ada sel-sel kotak penyu dapat bergerak ke kiri, atas, bawah, dan kanan, dan dapat menulis sesuatu pada sel-sel jaringan.
sumber
Clojure, 3
: P Apa yang dapat Anda lakukan ketika ada built-in untuk ini? Ini berfungsi pada daftar, vektor, string dan urutan. Ini bisa O (1) atau O (n), tergantung pada tipe data yang digunakan.
sumber
sed , 31 byte
Cobalah online!
Input: indeks dan string, dipisahkan oleh satu spasi. Indeks di unary, tetapi berbasis nol.
sumber
Dyvil , 4 Bytes
Membuat fungsi anonim yang mengambil a
String
dan anint
dan mengembalikan achar
.Pemakaian:
sumber
Pip, 3 bytes
This is 0-based. Try it online!
sumber
QBasic 4.5, 24 bytes
Pretty straightforward.
sumber
Vim, 8 bytes
Karena V kompatibel dari belakang, Anda dapat mencobanya secara online!
sumber
Mathematica, 18 byte
Solusi dasar, tetapi sayangnya nama fungsinya cukup panjang.
sumber
C #, 11 byte
sumber