-
Notifications
You must be signed in to change notification settings - Fork 103
/
Copy pathFix string case
24 lines (18 loc) · 910 Bytes
/
Fix string case
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/*Description:
In this Kata, you will be given a string that may have mixed uppercase and lowercase letters and your task is to convert that string to either lowercase only or uppercase only based on:
make as few changes as possible.
if the string contains equal number of uppercase and lowercase letters, convert the string to lowercase.
For example:
solve("coDe") = "code". Lowercase characters > uppercase. Change only the "D" to lowercase.
solve("CODe") = "CODE". Uppercase characters > lowecase. Change only the "e" to uppercase.
solve("coDE") = "code". Upper == lowercase. Change all to lowercase.
More examples in test cases. Good luck!
Please also try:
Simple time difference
Simple remove duplicates
*/
function solve(s){
let up=s.split('').filter(v=>v.match(/[A-Z]/)).length
let down=s.split('').filter(v=>v.match(/[a-z]/)).length
return down>=up?s.toLowerCase():s.toUpperCase();
}