URL이 너무 길어지고 있습니다. 따라서 URL을 줄이려면 알고리즘을 구현해야합니다.
나는. URL의 구조
URL에는 도메인 과 경로의 두 가지 주요 부분이 있습니다 . 도메인은 첫 번째 슬래시 이전의 URL 부분입니다. URL에 프로토콜이 포함되어 있지 않다고 가정 할 수 있습니다. 경로는 다른 모든 것입니다.
ii. 도메인
URL의 도메인은 다음과 같습니다 xkcd.com
meta.codegolf.stackexcchhannnge.cooom
. 각 부품은 기간별로 구분됩니다 (예 : blag.xkcd.com
부품은 "blag", "xkcd"및 "com"). 이것이 당신이 할 일입니다 :
두 개 이상의 부품이 포함 된 경우 마지막 두 개를 제쳐두고 나머지 부품의 첫 글자를 연결하십시오.
그런 다음 첫 번째 문자를 두 번째에서 마지막 부분까지 연결하십시오.
마지막 부분부터 마침표와 두 번째 및 세 번째 문자를 추가하십시오.
마지막 부분을 폐기하십시오.
iii. 경로
경로는 다음과 같습니다 /questions/2140/
/1407/
.. 이전과 같이 "부품"은 슬래시로 구분됩니다. 경로의 각 부분에 대해 다음을 수행하십시오.
슬래시 추가
10 진수로 완전히 구성된 경우 숫자로 해석하여 36 진수로 변환하십시오.
그렇지 않으면 부품의 첫 글자를 추가하십시오.
마지막에 슬래시를 추가하십시오.
iv. 기타
- 이것은 code-golf 이므로 가장 짧은 코드가 승리합니다.
- 경로는 비워 둘 수 있지만 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
. 아니면이 도전의 목적과 관련이 있습니까?