-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path__E__licenseKeyFormat.js
79 lines (63 loc) · 2.24 KB
/
__E__licenseKeyFormat.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
// https://leetcode.com/problems/license-key-formatting/
const c = console.log.bind(console);
//done by me but
var licenseKeyFormatting = function(s, k) {
let finalString = firstCheck(s, k);
let finalStringCheck = finalString.split("-");
for (let i = 1; i < finalStringCheck.length; i++) {
if (finalStringCheck[i].length != k) {
return lastCheck(s, k);
}
}
return finalString;
};
let firstCheck = (s, k) => {
let sSplited = s.split("-");
let finalString = "";
if (sSplited[0].length < k) {
finalString += sSplited[0].slice(0, k);
sSplited[0] = sSplited[0].replace(finalString, "");
}
let string = sSplited.join("").split(",").join(",");
for (let i = 0; i < string.length; i = i + k) {
if (finalString == "") {
finalString += string.slice(i, i + k).toUpperCase();
} else {
finalString += "-" + string.slice(i, i + k).toUpperCase();
}
}
return finalString;
};
let lastCheck = (s, k) => {
let sSplited = s.split("-");
let finalString = "";
let string = sSplited.join("").split(",").join(",");
string = string.split('').reverse().join('');
for (let i = 0; i < string.length; i = i + k) {
if (finalString == "") {
finalString += string.slice(i, i + k).toUpperCase();
} else {
finalString += "-" + string.slice(i, i + k).toUpperCase();
}
}
return finalString.split('').reverse().join('');
};
////simplieset 15 line solution fuck man :D
// var licenseKeyFormatting = function(s, k) {
// let sSplited = s.split("-");
// let finalString = "";
// let string = sSplited.join("").split(",").join(",");
// string = string.split('').reverse().join('');
// for (let i = 0; i < string.length; i = i + k) {
// if (finalString == "") {
// finalString += string.slice(i, i + k).toUpperCase();
// } else {
// finalString += "-" + string.slice(i, i + k).toUpperCase();
// }
// }
// return finalString.split('').reverse().join('');
// };
c(licenseKeyFormatting("5F3Z-2e-9-w", 4));
c(licenseKeyFormatting("2-5g-3-Jd", 2));
c(licenseKeyFormatting("2-4A0r7-4k", 4));
c(licenseKeyFormatting("2-4A0r7-4k", 3));