URLs werden zu lang. Sie müssen also einen Algorithmus implementieren, um eine URL zu verkürzen.
ich. Die Struktur einer URL
Eine URL besteht aus zwei Hauptteilen: einer Domain und einem Pfad . Eine Domain ist der Teil der URL vor dem ersten Schrägstrich. Sie können davon ausgehen, dass die URL kein Protokoll enthält. Der Weg ist alles andere.
ii. Die Domain
Die Domäne einer URL wird wie etwas sein: xkcd.com
meta.codegolf.stackexcchhannnge.cooom
. Jeder Teil ist nach Perioden getrennt, z. B. blag.xkcd.com
lauten die Teile "blag", "xkcd" und "com". Das wirst du damit machen:
Wenn es mehr als zwei Teile enthält, legen Sie die letzten beiden beiseite und verketten Sie den ersten Buchstaben der restlichen Teile.
Verketten Sie das dann zu dem ersten Buchstaben zu dem vorletzten Teil.
Fügen Sie einen Punkt und den zweiten und dritten Buchstaben des vorletzten Teils hinzu.
Verwerfen Sie den letzten Teil.
iii. Der Weg
Der Weg wird sein , wie: /questions/2140/
/1407/
. Nach wie vor werden "Teile" durch Schrägstriche getrennt. Führen Sie für jeden Teil des Pfads Folgendes aus:
Fügen Sie einen Schrägstrich hinzu
Wenn es vollständig aus Ziffern zur Basis zehn besteht, interpretieren Sie es als Zahl und konvertieren Sie es in eine Ganzzahl zur Basis 36.
Andernfalls fügen Sie den ersten Buchstaben des Teils hinzu.
Fügen Sie am Ende einen Schrägstrich hinzu.
iv. Sonstiges
- Das ist Code-Golf , also gewinnt der kürzeste Code.
- Der Pfad kann leer sein, die URL endet jedoch immer mit einem Schrägstrich.
- Es wird kein Protokoll (zB sein
http://
,file:///
) - Es wird niemals weniger als zwei Teile in der Domäne geben.
- Es gelten Standardlücken.
Beispiele
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
und alles, was mit beginnt,?
ist eine Abfragezeichenfolge, die nicht mit einem Schrägstrich enden sollte. Auch werden nicht alle URLs mit einem Schrägstrich/
wie endenwww.something.com/path
. Oder ist das für den Zweck dieser Herausforderung irrelevant?