
😎풀이
word 순회
1-1. 현재 문자가 이미 탐색되었다면, 생략
1-2. 현재 문자를 기록하고 터치를 위해 몇 번의 동작이 필요한지 파악
1-3. 8개의 키까진 1회, 9 ~ 16개의 키부턴 2개 ... 점진적 증량
word 순회
2-1. 등록된 터치 수에 따라 각 문자 작성에 필요한 터치 수 기록
- 최종적으로 필요한 터치 수 반환. 최종적으로 필요한 터치 수 반환
function minimumPushes(word: string): number {
const set = new Set()
const map = new Map()
let curPush = 1
for(const char of word) {
if(set.has(char)) continue
set.add(char)
map.set(char, Math.ceil(curPush / 8))
curPush++
}
let touch = 0
for(const char of word) {
touch += map.get(char)
}
return touch
};