Конкатинация с разворотом

vasilukwolf
На сайте с 19.05.2013
Offline
22
840

Есть тестовое задание, которое часто в последнее время использую на собеседованиях

http://russiancodecup.ru/round/1/

Говорят, что это делается в одну строчку. Предполагаю, что это семейство preg.Очень похоже на preg_split. Нужно для собеседований.

Git https://github.com/vasilukwolf (https://github.com/vasilukwolf) ||E-mail vasilukwolf@gmail.com WWW http://wob.su/ (http://wob.su/) || Tel. +7 916 0156328
[umka]
На сайте с 25.05.2008
Offline
456
#1

Собрались на собеседование?

Когда возьмут на работу, то за вас форумчане будут работать? :)

Лог в помощь!
sear4er
На сайте с 04.03.2010
Offline
756
#2
vasilukwolf:
Конкатинация

Первый раз слышу это слово...

Профессиональный SEO аудит с гарантией результата (форум). ( /ru/forum/824674 ) EVOLUTION SEO - Оптимизация, продвижение сайтов, вывод из под фильтров (личный сайт). ( https://evoseo.ru ) Бесплатные SEO консультации. ( https://evoseo.ru/seo-consultaciya/ )
vasilukwolf
На сайте с 19.05.2013
Offline
22
#3

preg_replace_callback, дело не в этом, просто дело не в этом. Откуда вообще взялся синитаксис preg. Это узкоспециализированные вещи, которые нужны для спортивного программирования. По сути я так понимаю мне нужно написать функцию. Но с функциями call back я как обезьяна с гранатой пока.Задача интересная и серьезная.На чемпионат пока не планирую.Попытаюсь добить сам.Просто я спрашиваю, какая функция нужна, мне не нужно ответ кодить полностью

---------- Добавлено 20.02.2014 в 01:43 ----------

sear4er:
Первый раз слышу это слово...

Сорри *конкатенация

sear4er
На сайте с 04.03.2010
Offline
756
#4
vasilukwolf:
Сорри *конкатенация

Я не хотел вам указать на ошибку ... и такое тоже не слышал ... ))

Просто в принципе не слышал такого слова .. щас полезу в вики )

vasilukwolf
На сайте с 19.05.2013
Offline
22
#5
'[umka:
;12648524']Собрались на собеседование?
Когда возьмут на работу, то за вас форумчане будут работать? :)

Нет, задача не тривиальная, то есть её можно найти только своей головой, проблема что функция применяется только в специальных алгоритмах шифрования.Но её профи знают, остальное дело техники.

---------- Добавлено 20.02.2014 в 01:49 ----------

sear4er:
Я не хотел вам указать на ошибку ... и такое тоже не слышал ... ))
Просто в принципе не слышал такого слова .. щас полезу в вики )

Это значит суммирование строк, то есть когда у вас 100+1=1001

Прибавление символа.А это она и есть.Нужна инверсия в скобках, по моему в preg вот так (...).

Я плохо понимаю его синтаксис, это не книжные знания, просто поделитесь опытом, как это делать.Это делается семейством preg функций.

siv1987
На сайте с 02.04.2009
Offline
427
#6
vasilukwolf:
Откуда вообще взялся синитаксис preg. Это узкоспециализированные вещи

Да не скажите, нынче без регулярных выражений никуда. Даже в школе по моему их уже учат.


Входные данные Выходные данные
russ(ai)(edocn)cup russiancodecup

echo preg_replace_callback('/^(\w+)\((\w+)\)\((\w+)\)(\w+)$/', function($m){
return $m[1].strrev($m[2]).strrev($m[3]).$m[4];
}, 'russ(ai)(edocn)cup');
vasilukwolf
На сайте с 19.05.2013
Offline
22
#7
siv1987:
Да не скажите, нынче без регулярных выражений никуда. Даже в школе по моему их уже учат.


Входные данные Выходные данные
russ(ai)(edocn)cup russiancodecup

echo preg_replace_callback('/^(\w+)\((\w+)\)\((\w+)\)(\w+)$/', function($m){
return $m[1].strrev($m[2]).strrev($m[3]).$m[4];
}, 'russ(ai)(edocn)cup');

В общем то у меня проблема с регулярными выражениями, как устранить пробелы.На курсах меня этому не учили, столкнулся с валидацией форм самостоятельно и обломался.Кроме стандартной модели валидации почты ни с чем не сталкивался. В общем доведу до ума прогу. Manual в студию 😒😒😒

siv1987
На сайте с 02.04.2009
Offline
427
#8
vasilukwolf:
В общем то у меня проблема с регулярными выражениями, как устранить пробелы.

Вообще-то при валидации почты не устраняют запрещенные "пробелы", а уведомляют пользователя что есть недопустимые символы. Вообще regexp шаблонов для валидации почты вагон и тележка

vasilukwolf
На сайте с 19.05.2013
Offline
22
#9

Да есть одна проблема, в задании просто пример входной строки, а она может быть случайной, то есть скобочки.Происходит конкатенация примера с реверсом скобочек, но все это работает при условии данного константо-форматного определения.Проблема, как это сделать. Можно ли вхождения шаблона делать переменной?

В общем не актуально, доделал, спасибо гуру.

D
На сайте с 14.01.2007
Offline
153
#10

регуляркой распинать произвольную строку на запчасти не получится(?).

да и про "в одну строку" в задании речи нет

я бы тут взрывами(explode) работал

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий