License Key Formatting

 

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.

 

Input: s = "5F3Z-2e-9-w", k = 4
Output: "5F3Z-2E9W"
 
class Solution {
public:
string licenseKeyFormatting(string s, int k) {
string ans;
int n=k;
for(int i=s.size()-1;i>=0;--i)
{
if(s[i] != '-')
{
if(n==0) {
ans.push_back('-');
n=k;
}

ans.push_back(toupper(s[i]));
--n;
}

}

reverse(ans.begin(),ans.end());
return ans;

}
}; 

 

Comments

Popular posts from this blog

Perfect Peak of Array

Is Rectangle?

Sort array with squares!