URL terlalu panjang. Jadi, Anda harus menerapkan algoritma untuk mempersingkat URL.
saya. Struktur URL
URL memiliki 2 bagian utama: domain dan jalur . Domain adalah bagian dari URL sebelum garis miring pertama. Anda dapat berasumsi bahwa URL tidak termasuk protokol. Jalan adalah segalanya.
ii. Domain
Domain dari URL akan menjadi sesuatu seperti: xkcd.com
meta.codegolf.stackexcchhannnge.cooom
. Setiap bagian dipisahkan periode, misalnya dalam blag.xkcd.com
, bagian-bagiannya adalah "blag", "xkcd", dan "com". Inilah yang akan Anda lakukan dengannya:
Jika berisi lebih dari dua bagian, sisihkan dua yang terakhir dan gabungkan huruf pertama dari sisa bagian tersebut.
Kemudian, gabungkan itu ke huruf pertama ke bagian kedua hingga terakhir.
Tambahkan titik dan huruf kedua dan ketiga dari bagian kedua hingga terakhir.
Buang bagian terakhir.
aku aku aku. Jalan
Jalan itu akan menjadi seperti: /questions/2140/
/1407/
. Seperti sebelumnya, "bagian-bagian" dipisahkan oleh garis miring. Untuk setiap bagian di jalan, lakukan:
Tambahkan garis miring
Jika benar-benar terbuat dari basis-sepuluh digit, tafsirkan sebagai angka dan konversikan ke basis-36 integer.
Kalau tidak, tambahkan huruf pertama bagian itu.
Pada akhirnya, tambahkan garis miring.
iv. Lain-lain
- Ini kode-golf , jadi kode terpendek menang.
- Path bisa kosong, tetapi URL akan selalu diakhiri dengan garis miring.
- Tidak akan ada protokol (misalnya
http://
,file:///
) - Tidak akan pernah ada kurang dari dua bagian dalam domain.
- Celah standar berlaku.
Contohnya
Masuk: xkcd.com/72/
Keluar:x.kc/20/
Masuk: math.stackexchange.com/a/2231/
Keluar:ms.ta/a/1pz/
Masuk: hello.org/somecoolcodeintrepreteriijjkk?code=3g3fzsdg32,g2/
Keluar:h.el/s/
kk
dan semuanya dimulai dengan?
string kueri, yang seharusnya tidak diakhiri dengan garis miring? Juga tidak semua URL akan berakhir dengan garis miring/
, sepertiwww.something.com/path
. Atau apakah ini tidak relevan dengan tujuan tantangan ini?