<script>
function
minimumCost(str, L, U) {
var
N = str.length;
var
s = str.split(
""
);
var
lowerFreq =
new
Array(26).fill(0);
var
upperFreq =
new
Array(26).fill(0);
for
(
var
i = 0; i < N; i++) {
if
(s[i] === s[i].toUpperCase())
upperFreq[s[i].charCodeAt(0) -
"A"
.charCodeAt(0)]++;
else
lowerFreq[s[i].charCodeAt(0) -
"a"
.charCodeAt(0)]++;
}
var
result =
new
Array(26).fill(0);
for
(
var
i = 0; i < 26; i++) {
if
(lowerFreq[i] !== 0 || upperFreq[i] !== 0) {
var
costToUpper = U * lowerFreq[i];
var
costToLower = L * upperFreq[i];
if
(costToLower < costToUpper) {
result[i] = 1;
}
}
}
for
(
var
i = 0; i < N; i++) {
var
index = 0;
if
(s[i] === s[i].toLowerCase())
index = s[i].charCodeAt(0) -
"a"
.charCodeAt(0);
else
index = s[i].charCodeAt(0) -
"A"
.charCodeAt(0);
if
(result[index] === 1)
{
s[i] = s[i].toLowerCase();
}
else
{
s[i] = s[i].toUpperCase();
}
}
document.write(s.join(
""
));
}
var
S =
"aabbAA"
;
var
L = 1,
U = 1;
minimumCost(S, L, U);
</script>