URL ยาวเกินไป ดังนั้นคุณต้องใช้อัลกอริทึมเพื่อย่อ URL
ผม. โครงสร้างของ URL
URL ที่มี 2 ส่วนหลักคือโดเมนและเส้นทาง โดเมนเป็นส่วนหนึ่งของ URL ก่อนเครื่องหมายทับแรก คุณอาจสันนิษฐานว่า URL นั้นไม่มีโปรโตคอล เส้นทางเป็นอย่างอื่น
ii โดเมน
โดเมนของ URL xkcd.com
meta.codegolf.stackexcchhannnge.cooom
จะเป็นสิ่งที่ชอบ แต่ละส่วนแยกเป็นช่วงเวลาเช่นในblag.xkcd.com
ส่วนต่าง ๆ เป็น "blag", "xkcd" และ "com" นี่คือสิ่งที่คุณจะทำกับมัน:
หากมีมากกว่าสองส่วนให้แยกสองส่วนสุดท้ายและต่อตัวอักษรตัวแรกของส่วนที่เหลือให้ต่อกัน
จากนั้นต่อให้แนบอักษรตัวแรกไปยังส่วนที่สองถึงครั้งสุดท้าย
เพิ่มจุดและตัวอักษรที่สองและสามของส่วนที่สองถึงครั้งสุดท้าย
ละทิ้งส่วนสุดท้าย
สาม. เส้นทาง
เส้นทางจะเป็นเช่น: /questions/2140/
/1407/
. เช่นเดียวกับก่อนหน้านี้ "ชิ้นส่วน" ถูกคั่นด้วยสแลช สำหรับแต่ละส่วนในเส้นทางให้ทำ:
เพิ่มเครื่องหมายทับ
หากมันทำมาจากเลขฐานสิบให้ตีความว่ามันเป็นตัวเลขและแปลงเป็นจำนวนเต็มฐาน -36
มิฉะนั้นเพิ่มตัวอักษรตัวแรกของส่วน
ในตอนท้ายเพิ่มเครื่องหมายทับ
iv อื่น ๆ.
- นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดจึงชนะ
- เส้นทางสามารถว่างเปล่าได้ แต่ URL จะลงท้ายด้วยเครื่องหมายทับ
- จะไม่มีโปรโตคอล (เช่น
http://
,file:///
) - จะไม่น้อยกว่าสองส่วนในโดเมน
- ช่องโหว่มาตรฐานใช้
ตัวอย่าง
เข้า: xkcd.com/72/
ออก:x.kc/20/
เข้า: math.stackexchange.com/a/2231/
ออก:ms.ta/a/1pz/
เข้า: hello.org/somecoolcodeintrepreteriijjkk?code=3g3fzsdg32,g2/
ออก:h.el/s/
kk
และทุกสิ่งที่ขึ้นต้นด้วย?
สตริงข้อความค้นหาซึ่งไม่ควรลงท้ายด้วยเครื่องหมายสแลช นอกจากนี้ยัง URL ที่ไม่ได้ทั้งหมดจะจบลงด้วยการเฉือนเช่น/
www.something.com/path
หรือสิ่งนี้ไม่เกี่ยวข้องกับความท้าทายนี้?