이 문제는 풀기 어려운 문제는 아니었지만 처음 봤을 때는 문제를 이해하기 어려웠다.
function solution(keymap, targets) {
const answer = ();
const keyMapObj = {};
keymap.forEach(el => {
for(let i = 0; i < el.length; i++) {
if(!
keyMapObj(el(i)) || keyMapObj(el(i)) > i + 1) {
keyMapObj(el(i)) = i + 1;
}
}
});
for(let i = 0; i < targets.length; i++) {
let count = 0;
for(j of targets(i)) {
if(!
keyMapObj(j)) {
count = -1;
break;
}
count += keyMapObj(j);
}
answer.push(count);
}
return answer;
}
요약하면 객체로 가장 짧은 액세스 값을 찾고 해당 값을 기반으로 대상을 가장 빠르게 생성하는 알고리즘을 작성할 수 있었습니다.
문제를 풀고 다른 사람이 작성한 코드를 확인해보니 다른 해결책이 있는 것 같았다.
어떤 방법이 더 효율적인지 고민해볼 여지가 있는 것 같습니다.