if문이 왜이렇게많을까..~
function solution(keymap, targets) {
var answer = [];
for(let i=0;i<targets.length;i++){
let count=0;
for(const el of targets[i]){
let indexArr=[]
let dontHave=0
//el= 'X'
for(let j=0;j<keymap.length;j++){
if(keymap[j].includes(el)){
indexArr.push(1+(keymap[j].indexOf(el)))
}else{
dontHave++
}
}
if(dontHave==keymap.length){
count=0
break
}
if(indexArr.length>0){
count=count+Math.min(...indexArr)
}
}
if( count===0){
answer.push(-1)
}else{
answer.push(count)
}
}
return answer;
}
역시 new Map..~
function solution(keymap, targets) {
const answer = [];
const map = new Map();
for (const key of keymap) { //각 글자의 최소로 눌리는 값을 구하는곳
for (let i = 0; i < key.length; i++) {
if (!map.has(key[i]) || i + 1 < map.get(key[i])) {
map.set(key[i], i + 1);
}
}
}
for (const target of targets) {
let count = 0;
for (let i = 0; i < target.length; i++) {
count += map.get(target[i]);
}
answer.push(count || -1);
}
return answer;
}