В абсурдной пьесе Розенкранц и Гильденстерн мертвы , два главных героя Розенкранц и Гильденстерн (или они?) Всегда путают, кто из них есть кто, а иногда и какой из их собственных частей тела из-за ощущаемого отсутствия индивидуальная идентичность. Разве не было бы абсурдом, если бы они даже перемешали свои имена?
Ваша задача состоит в том, чтобы написать функцию, которая принимает строку четной длины (и, по замыслу, кратную 4), которая превышает 7 символов, разделяет ее и перемешивает ее.
Разделение должно быть следующим : строка будет иметь формат "abscd", где s будет символом-разделителем . Первый раздел и разделитель absбудут первой половиной строки, тогда как вторая половина будетcd
Длина aбудет(string length / 4) - 1
Длина bбудет(string length / 4)
Длина sбудет1
Длина cбудет(string length / 4) + 1
Длина dбудет(string length / 4) - 1
Это может быть очень запутанным, поэтому позвольте мне показать вам несколько примеров
("a" + "bb" + "s" + "ccc" + "d").length //8
1 2 1 3 1
|-------4--------| |----4-----| <--- (4 is half of 8)
("rosen" + "crantz" + "&" + "guilden" + "stern").length //24
5 6 1 7 5
("foo" + "barr" + "?" + "barry" + "foo").length
3 4 1 5 3
В заключение:
Затем вы перемешаете части вокруг, выводя adscb
ех. "rosencrantz&guildenstern" --> "rosenstern&guildencrantz"
"foobarr?barryfoo" --> "foofoo?barrybarr"
Rulez:
- Стандартные лазейки запрещены
- Приемлемые ответы: функция, которая принимает входные данные через одну входную строку и возвращает одну выходную строку
- Если входная строка не соответствует требованиям, указанным выше, ваш код ДОЛЖЕН выдавать ошибку (не имеет значения, какого типа
ExceptionилиError) - Так
code-golfчто самый короткий (действительный) ответ (на каждом языке) выигрывает! - Бонусные баллы за однострочник :-) (Не совсем так, просто классные баллы)