FrontEnd/프로그래머스

[JS] 대충만든 자판

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