Это вдохновлено мини-гольфом в понедельник № 6: Meeesesessess upp teeexexextext
Задний план
ETHпродукция с трудом вводит текст на своей обычной веб-странице. Всякий раз, когда он использует цифры или буквы, текст будет обсуждаться. Ваша задача - помочь ему набрать текст, чтобы добиться нормального поведения.
Преобразование
Преобразование влияет на серии буквенно-цифровых символов ( [0-9A-Za-z]
), разделенных любыми буквенно-цифровыми символами. В следующем примере первая строка будет преобразована во вторую (другие строки показывают разбивку преобразования)
An12num:
Annn1n12n12nn12nn12nun12nun12numn12num
A
nn
n1
n12
n12nn12n
n12nun12nu
n12numn12num
В частности, любой алфавитно-цифровой символ после первого в серии будет преобразован в весь цикл, за исключением первого символа . Кроме того, если символ представляет собой букву (в отличие от цифры), символ будет превращен в два раза подряд.
К счастью, Backspace удалит последний символ, а также сбрасывает начало цикла.
задача
На этот раз ваша задача не выполнять преобразование. Вместо этого, учитывая входную строку, вы должны вернуть закодированный текст, который в случае преобразования приведет к вводу. Вывод должен быть как можно короче, где он \<char>
считается одним символом.
Текст кодируется следующим образом:
\ -> \\
backspace character -> \b
linefeed -> \n
Вы можете написать программу или функцию, принимая ввод через STDIN (или ближайшую альтернативу), аргумент командной строки или аргумент функции и выводя результат через STDOUT (или ближайшую альтернативу), возвращаемое значение функции или параметр функции (out).
Контрольные примеры
Каждый тестовый пример состоит из двух строк: первая - входная, вторая - выходная.
Heeeeeelp me. It shouldn't be messed up.
Hee \blp\b me\b. It\b sh\bou\bld\bn't be\b me\bss\bed\b up\b.
alert("Hello, world!");
al\ber\bt("He\bll\bo, wo\brl\bd!");
1223234234523456
123456
1
каждый раз) в серии.