From 8b0e467ed2b721cec66e6575e93f1804117e9574 Mon Sep 17 00:00:00 2001 From: Suyesha Bhattacharjee <66883895+suyesha07@users.noreply.github.com> Date: Fri, 22 Oct 2021 13:21:50 +0530 Subject: [PATCH] Create URL-SHORTNER.py --- Python/URL-SHORTNER.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Python/URL-SHORTNER.py diff --git a/Python/URL-SHORTNER.py b/Python/URL-SHORTNER.py new file mode 100644 index 00000000..f0a7e5ec --- /dev/null +++ b/Python/URL-SHORTNER.py @@ -0,0 +1,30 @@ +# Python3 code for above approach +def idToShortURL(id): + map = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" + shortURL = "" + + # for each digit find the base 62 + while(id > 0): + shortURL += map[id % 62] + id //= 62 + + # reversing the shortURL + return shortURL[len(shortURL): : -1] + +def shortURLToId(shortURL): + id = 0 + for i in shortURL: + val_i = ord(i) + if(val_i >= ord('a') and val_i <= ord('z')): + id = id*62 + val_i - ord('a') + elif(val_i >= ord('A') and val_i <= ord('Z')): + id = id*62 + val_i - ord('Z') + 26 + else: + id = id*62 + val_i - ord('0') + 52 + return id + +if (__name__ == "__main__"): + id = 12345 + shortURL = idToShortURL(id) + print("Short URL from 12345 is : ", shortURL) + print("ID from", shortURL, "is : ", shortURLToId(shortURL))