Mengingat ekspresi pencocokan regex /^[-~]*x$/
, mengevaluasinya dalam hal x
dan output string yang cocok regex /^-?x[+-]\d+$/
.
Sebagai contoh, string -~x
mengevaluasi x+1
, sedangkan string -~-x
mengevaluasi -x+1
, dan string -~-~--x
mengevaluasi x+2
.
Kami mulai dari x
dan mengevaluasi string dari kanan ke kiri. -
meniadakan istilah, sementara ~
mengkonversi y
ke -y-1
.
Testcases:
x x+0
~x -x-1
-~x x+1
~-~x -x-2
-~-~x x+2
--~~x x+0
~-x x-1
-~-x -x+1
Ini adalah kode-golf . Jawabannya terpendek dalam byte menang.
Format input / output sangat ketat. Ini "x"
wajib.
x+010
bukanx+10
untuk-~-~-~-~-~-~-~-~-~-~x
? Ini cocok dengan regex kedua.~
sementara belum didefinisikanJawaban:
Python 2 ,
424139 byteCobalah online!
sumber
Retina ,
4744 byteCobalah online! Sunting: Disimpan 3 byte berkat @MartinEnder. Perluasan:
Hapus pasangan duplikat yang berdekatan.
Hitung jumlah
~
s yang memberi kita besarnya istilah.Jika karakter pertama adalah a
~
maka istilah tersebut harus negatif.Jika jumlah
~
s dan-
s ganjil makax
harus negatif.sumber
JavaScript, 59 byte
Cobalah online!
sumber
-
sekaligus. (yaitu--~-~x
)Perl 5 , 75 + 1 (-n) = 76 byte
Cobalah online!
sumber
C (gcc) , 69 byte
Cobalah online!
-1 byte terima kasih kepada @ThePirateBay
sumber
Java 8, 186 byte
Pasti kamar untuk perbaikan ..
Penjelasan:
Coba di sini.
sumber