
😎풀이
- 투 포인터 사용
- 각각의 포인터 문자가 일치한다면 모두 전진
- 각각의 포인터 문자가 불일치 한다면
3-1. typed
의 현재 문자와 이전 문자가 동일하다면 다음 문자로 이동
3-2. typed
가 LongPressed도 아니라면, false
반환
name
포인터의 탐색종료 여부 반환
function isLongPressedName(name: string, typed: string): boolean {
const n = typed.length
let nameIdx = 0
let typedIdx = 0
while(typedIdx < n) {
if(name[nameIdx] === typed[typedIdx]) {
nameIdx++
typedIdx++
} else if(typedIdx > 0 && typed[typedIdx] === typed[typedIdx - 1]) {
typedIdx++
} else {
return false
}
}
return nameIdx === name.length
};