DEV Community

Discussion on: Daily Challenge #282 - Car License Plate Calculator

Collapse
 
peter279k profile image
peter279k • Edited

Here is the simple solution with Python to create mapping letter lists to complete this challenge :).

def find_the_number_plate(customer_id):
    letter_string = 'abcdefghijklmnopqrstuvwxyz'
    letters = [
        'aa',
        'ab',
        'ac',
        'ad',
        'ae',
        'af',
        'ag',
        'ah',
        'ai',
        'aj',
        'ak',
        'al',
        'am',
        'an',
        'ao',
        'ap',
        'aq',
        'ar',
        'as',
        'at',
        'au',
        'av',
        'aw',
        'ax',
        'ay',
        'az',
    ]
    map_letters = []
    for letter in letters:
        for second_index in list(range(1, 26)):
            for index in list(range(0, 26)):
                map_letters.append(letter_string[index] + letter)
            letter = letter_string[second_index] + letter[-1]
        for index in list(range(0, 26)):
            map_letters.append(letter_string[index] + letter_string[-1] + letter[-1])

    number_str = str(customer_id - int(customer_id / 999) * 999 + 1)
    number_str = '0' * (3 - len(number_str)) + number_str 

    map_str = map_letters[int(customer_id / 999)]

    return map_str + number_str