Diberikan string, kembalikan tabel di mana kolom pertama memiliki huruf unik dari string dalam urutan kejadian dan kolom berikutnya daftar indeks huruf itu dalam string, menggunakan pengindeksan berbasis nol atau satu. Spasi horisontal tidak menjadi masalah, selama kolom paling kiri disejajarkan secara vertikal. Indeks harus dalam urutan menaik dari kiri ke kanan.
Contohnya
Dengan menggunakan pengindeksan berbasis nol dan diberi "abracadabra", kembali
a 0 3 5 7 10
b 1 8
r 2 9
c 4
d 6
Menggunakan pengindeksan berbasis satu dan diberikan "3141592653589793238462643383279503", kembali:
3 1 10 16 18 25 26 28 34
1 2 4
4 3 20 24
5 5 9 11 32
9 6 13 15 31
2 7 17 22 29
6 8 21 23
8 12 19 27
7 14 30
0 33
Jawaban:
APL (Dyalog) , 4 byte
Cobalah online!
(
⌸
adalah 3 byte)Menggunakan pengindeksan berbasis 1.
⌸
adalah operator utama. Di sini ia berperilaku sebagai operator monadik. Ini menerapkan fungsi,
, menggabungkan argumen kiri dengan argumen kanan, untuk setiap elemen unik dalam argumen kanannya dan indeks elemen unik itu dalam argumen asli.sumber
Haskell , 86 byte
Menentukan fungsi,,
f
yang mengembalikan sebuah String yang berisi output ini.Cobalah online!
Bagaimana?
sumber
[' ':show i|(i,c)<-zip[0..]s,c==x]
.kdb + / q , 5 byte
Builtin hebat
Saya biasanya bermain golf di k , tetapi versi 2-byte k (
=:
) tidak memformat output dengan baikHasilnya persis sama, tetapi formatnya hilang. Untuk memformat, dan menghapus objek kembali, kami sebenarnya mengambil lebih banyak byte daripada versi q
sumber
Python, 96 byte
coba online!
sumber
MATL , 11 byte
Indeks output berbasis 1.
Cobalah online!
sumber
Pyth , 13 byte
Cobalah online!
sumber
Jelly , 7 byte
Cobalah online!
sumber
05AB1E , 14 byte
Cobalah online!
Penjelasan
sumber
Mathematica, 85 byte
menggunakan pengindeksan berbasis satu
sumber
JavaScript (Draf ES), 77 byte
88 byte di browser yang lebih lama:
sumber
PHP , 82 byte
Cobalah online!
sumber
QBIC , 95 byte
Penjelasan
Ini menyalin bagian penting dari jawaban saya untuk tantangan ini :
Contoh dijalankan:
sumber
C (dentang) , 176 byte
Tentu ini adalah jawaban terpanjang di sini ...
Cobalah online!
sumber
Python 3,
111106 byterepl.it
sumber
C # , 138 byte
sumber
F # , 120 byte
Versi yang lebih mudah dibaca:
Seq.indexed
membuat urutan baru yang berisi tupel yang terdiri dari elemen asli dan itu berdasarkan indeks 0 dalam urutan asli.Sisanya cukup jelas yang tidak pernah bagus untuk golf!
sumber
R ,
8077 byteCobalah online!
fungsi anonim; mencetak hasil 1-diindeks dengan baris baru tambahan.
sumber
J , 11 byte
Cobalah online!
sumber
Sekam , 10 byte
Cobalah online!
Catatan: Sekam (atau setidaknya perintah
¥
) lebih baru dari tantangan ini.Penjelasan
sumber