URL становятся слишком длинными. Итак, вы должны реализовать алгоритм для сокращения URL.
я. Структура URL
URL состоит из 2 основных частей: домена и пути . Домен - это часть URL до первого слеша. Вы можете предположить, что URL не включает протокол. Путь это все остальное.
II. Домен
Домен URL будет что - то вроде: xkcd.com
meta.codegolf.stackexcchhannnge.cooom
. Каждая часть разделена периодом, например blag.xkcd.com
, в частях это «blag», «xkcd» и «com». Вот что вы будете делать с этим:
Если он содержит более двух частей, отложите последние две части в сторону и объедините первую букву остальных частей.
Затем соедините это с первым письмом до второй части.
Добавьте точку, а также вторую и третью букву от второй до последней части.
Откажитесь от последней части.
III. Тропинка
Путь будет так: /questions/2140/
/1407/
. Как и прежде, «части» разделяются косыми чертами. Для каждой части пути выполните:
Добавить косую черту
Если он полностью состоит из десятизначных цифр, интерпретируйте его как число и преобразуйте в целое число-36.
В противном случае добавьте первую букву детали.
В конце добавьте косую черту.
внутривенно Разный
- Это код-гольф , поэтому выигрывает самый короткий код.
- Путь может быть пустым, но URL всегда будет заканчиваться косой чертой.
- Там не будет протокола (например
http://
,file:///
) - В домене никогда не будет меньше двух частей.
- Применяются стандартные лазейки.
Примеры
In: xkcd.com/72/
Out:x.kc/20/
In: math.stackexchange.com/a/2231/
Out:ms.ta/a/1pz/
In: hello.org/somecoolcodeintrepreteriijjkk?code=3g3fzsdg32,g2/
Out:h.el/s/
kk
и все, что начинается с,?
является строкой запроса, которая не должна заканчиваться косой чертой? Также не все URL будут заканчиваться косой чертой/
, какwww.something.com/path
. Или это не имеет отношения к цели этого вызова?