Adresy URL stają się zbyt długie. Musisz więc zaimplementować algorytm, aby skrócić adres URL.
ja. Struktura adresu URL
Adres URL składa się z 2 głównych części: domeny i ścieżki . Domena jest częścią adresu URL przed pierwszym ukośnikiem. Możesz założyć, że adres URL nie zawiera protokołu. Ścieżka to wszystko inne.
ii. Domena
Domeną URL będzie coś takiego: xkcd.com
meta.codegolf.stackexcchhannnge.cooom
. Każda część jest oddzielona okresem, np. W blag.xkcd.com
części są „blag”, „xkcd” i „com”. Oto, co z tym zrobisz:
Jeśli zawiera więcej niż dwie części, odłóż dwie ostatnie na bok i połącz pierwszą literę pozostałych części.
Następnie połącz to z pierwszą literą do części od drugiej do ostatniej.
Dodaj kropkę oraz drugą i trzecią literę części od drugiej do ostatniej.
Odrzuć ostatnią część.
iii. Ścieżka
Ścieżka będzie jak: /questions/2140/
/1407/
. Tak jak poprzednio, „części” są oddzielone ukośnikami. Dla każdej części ścieżki wykonaj:
Dodaj ukośnik
Jeśli jest w całości wykonany z dziesięciu cyfr podstawy, zinterpretuj go jako liczbę i przekonwertuj na liczbę całkowitą base-36.
W przeciwnym razie dodaj pierwszą literę części.
Na końcu dodaj ukośnik.
iv. Misc.
- To jest golf golfowy , więc wygrywa najkrótszy kod.
- Ścieżka może być pusta, ale adres URL zawsze kończy się ukośnikiem.
- Nie będzie to protokół (np
http://
,file:///
) - W domenie nigdy nie będzie mniej niż dwie części.
- Obowiązują standardowe luki.
Przykłady
W: xkcd.com/72/
Out:x.kc/20/
W: math.stackexchange.com/a/2231/
Out:ms.ta/a/1pz/
W: hello.org/somecoolcodeintrepreteriijjkk?code=3g3fzsdg32,g2/
Out:h.el/s/
kk
a wszystko, co zaczyna się od,?
jest ciągiem zapytania, który nie powinien kończyć się ukośnikiem? Również nie wszystkie adresy URL kończą się ukośnikiem/
, npwww.something.com/path
. Czy jest to nieistotne dla celów tego wyzwania?