You are given a license key represented as a string s that consists of only alphanumeric characters and dashes. The string is separated into n + 1 groups by n dashes. You are also given an integer k.
We want to reformat the string s such that each group contains exactly k characters, except for the first group, which could be shorter than k but still must contain at least one character. Furthermore, there must be a dash inserted between two groups, and you should convert all lowercase letters to uppercase.
Return the reformatted license key.
A simple string slicing problem
class Solution:
def licenseKeyFormatting(self, s: str, k: int) -> str:
s = s.replace('-', '').upper()
L = len(s)
if L == 1:
return s
ans = ""
ans += (s[0: L % k])
for i in range(L % k, L, k):
if len(ans) > 0:
ans += '-'
ans += s[i: i + k]
return (ans)