let a = "DCBA";
let actualStrInArray = a.split("");
let sortedStrInArray = a.split("").sort();
let rank = 0;
for (let i = 0; i < actualStrInArray?.length; i++) {
let elem = actualStrInArray[i];
let indexOfElementInSorted = sortedStrInArray.indexOf(elem);
if (indexOfElementInSorted > 0) {
let getCount =
indexOfElementInSorted * factorial(sortedStrInArray.length - 1);
rank = rank + getCount;
sortedStrInArray.splice(indexOfElementInSorted, 1);
} else {
rank = rank + 1;
}
}
console.log(rank);
function factorial(n) {
let answer = 1;
if (n == 0 || n == 1) {
return answer;
} else {
for (var i = n; i >= 1; i--) {
answer = answer * i;
}
return answer;
}
}