
😎풀이
- 각 단어 길이 확인
- 단어 길이의 총합 확인
s
의 길이가 전체 문자words
의 길이보다 길면 Prefix일 수 없음
s
를 words
의 각 단어 길이에 맞게 분할
- 동등비교 후 다르다면
false
반환
s
와 접두사가 모두 일치한다면 true
반환
function isPrefixString(s: string, words: string[]): boolean {
const wordLen = words.map(a => a.length)
const wordLenSum = wordLen.reduce((acc, cur) => acc + cur, 0)
if(wordLenSum < s.length) return false
const splitS = []
let prevIdx = 0
for(let i = 0; i < wordLen.length; i++) {
const curLen = wordLen[i]
const curIdx = prevIdx + curLen
const curWord = s.slice(prevIdx, curIdx)
prevIdx = curIdx
if(curWord) splitS.push(curWord)
}
for(let i = 0; i < splitS.length; i++) {
if(splitS[i] !== words[i]) return false
}
return true
};