중복 순열을 이용해서 계산함
function solution(word) {
var answer = 0;
function perm(arr, num){
let result = [];
if(num === 1){
return arr.map((v)=> [v])
}
arr.forEach((v,idx,arr)=>{
const fixer = v;
const restArr = arr;
const permArr = perm(restArr, num-1)
const combine = permArr.map((v)=>[
fixer, ...v
])
result.push(...combine);
})
return result;
}
let set = new Set();
for(let i = 1 ; i <= 5 ; i++ ){
let data = perm(['A','E','I','O','U'], i).map(e=> e.join(""));
data.forEach(e=>{
set.add(e);
});
}
let val = [...set].sort((a,b)=>{
if(a<b){
return -1;
}
else if(a>b){
return 1;
}
else {
return 0;
}
})
// console.log(val.indexOf(word)+1);
return val.indexOf(word)+1;
}