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.
~
sementara belum didefinisikan
x+010
bukanx+10
untuk-~-~-~-~-~-~-~-~-~-~x
? Ini cocok dengan regex kedua.