Учитывая выражение, соответствующее регулярному выражению /^[-~]*x$/, оцените его с точки зрения xи выведите строку, соответствующую регулярному выражению /^-?x[+-]\d+$/.
Например, строка -~xоценивается как x+1, а строка -~-x- как -x+1, а строка -~-~--x- как x+2.
Мы начинаем с xи оцениваем строку справа налево. -отрицает термин, в то время как ~преобразует yв -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
Это код-гольф . Кратчайший ответ в байтах побеждает.
Формат ввода / вывода строгий. Это "x"обязательно.
~пока оно не определено
x+010вместоx+10для-~-~-~-~-~-~-~-~-~-~x? Это соответствует второму регулярному выражению.