License Key Formatting using Python

The problem of License key formatting is a popular coding interview question. Here you will be given a license key, and you need to reformat the key such that each group contains the same characters except the first group. So, if you want to know how to solve this problem, this article is for you. In this article, you will learn how to solve the License Key Formatting problem using Python.

License Key Formatting Problem

During coding interviews, candidates often face algorithmic problems that require them to manipulate and reformat input data.

One such problem involves reformatting a license key represented as a string. The string consists of alphanumeric characters and hyphens and is separated into n + 1 groups by n hyphens (“-“). The task is to reformat the string so that each group contains exactly k characters, except for the first group, which can be shorter than k but must always contain at least one character.

Also, all lowercase letters must be converted to uppercase, and a hyphen must be inserted between two groups. Let’s take a look at an example to better understand the problem:

  • Input: s = “2-4A0r7-4k”, k = 3 | Output: “24-A0R-74K”

In the example above, the input string “2-4A0r7-4k” is reformatted so that each group contains three characters (except the first group), all lowercase letters are converted to uppercase, and a hyphen is inserted between two groups.

License Key Formatting using Python

We can solve this problem by iterating through the input string and building the reformatted string one group at a time. We can keep track of the number of characters in the current group and insert a dash after every k character. We can also convert lowercase letters to uppercase using the upper() function in Python:

def licenseKeyFormatting(s, k):
    s = s.upper().replace('-', '')
    size = len(s)
    s = s[::-1]
    res = []
    for i in range(0, size, k):
        res.append(s[i:i+k])
    return '-'.join(res)[::-1]

print(licenseKeyFormatting("2-4A0r7-4k", 3))
Output: 24-A0R-74K

So this is how you can solve the License key Formatting problem. You can find many more practice questions for coding interviews solved and explained using Python here.

Summary

In the License Key Formatting problem, the task is to reformat the key so that each group contains exactly the same characters, except for the first group, which can be shorter than k but must always contain at least one character. Feel free to find more resources to learn Python fundamentals from here.

allinpython
allinpython

Hello, My name is Yagyavendra Tiwari, am a computer science student and am very passionate about programming, am here to educate others through my knowledge of programming.

Articles: 1

Leave a Reply