728x90
객체를 하나 만든 후, 알파벳에 해당되는 최소 키 입력횟수를 넣어주었다.
또한 키가 해당되지 않는다면, -1을 반환하도록 하였다.
function solution(keymap, targets) {
const keyMap = {};
keymap.forEach(key => {
[ ...key ].forEach((el,idx) => {
if (el in keyMap){
keyMap[el] = keyMap[el]<idx+1 ? keyMap[el] : idx +1
} else keyMap[el] = idx+1
})
})
return targets.map(el => [ ...el ].reduce((a,c,idx,arr) => {
if(!keyMap[c]) {arr.splice(1); return -1}
return a+keyMap[c]
},0));
}
728x90
'FrontEnd > 프로그래머스' 카테고리의 다른 글
[JS] 둘만의 암호 (0) | 2023.03.30 |
---|---|
[JS] 카드 뭉치 (0) | 2023.03.28 |
[JS] 공원 산책 (0) | 2023.03.24 |
[JS] 덧칠하기 (0) | 2023.03.23 |
[JS] 바탕화면 정리 (0) | 2023.03.21 |