[Leetcode] 28. Implement strStr() β
Problem β
Javascript String ν¨μμ€μμ **String.prototype.indexOf()**λ₯Ό ꡬννλ λ¬Έμ
Solution β
μ°Ύκ³ μνλ κ°μ΄ λΉμ΄μμλλ 0μ λ°λ©νλ€.
haystack
λ¬Έμμ΄μ μμλλ‘ λΉκ΅νλ©΄μneedle
μ λ¬Έμμ΄κ³Ό μΌμΉνλμ§ λ λ°λ³΅λ¬Έμ μ΄μ©ν΄μ λΉκ΅νλ€.- μ΄λ
haystack
μ΄ λ¨μ λ¬Έμμ΄μκ°needle
λ³΄λ€ μ μ§μλλ‘ μ‘°κ±΄μ μ€λ€.
- μ΄λ
haystack
μneedle
λ¬Έμμ΄μ΄ μ‘΄μ¬νλ κ²½μ° νμ¬ μνμ€μΈhaystack
μ μΈλ±μ€λ₯Ό 리ν΄νκ³ μ‘΄μ¬νμ§μλ€λ©΄ -1μ 리ν΄νλ€.
JS Code β
js
/**
* @param {string} haystack
* @param {string} needle
* @return {number}
*/
var strStr = function(haystack, needle) {
if (!needle.length) return 0
outer:for(let i = 0 ; i < haystack.length; i++) {
if (haystack.length - i < needle.length) break
for(let j = 0 ; j < needle.length; j++) {
if(haystack[j + i] !== needle[j]) continue outer
}
return i
}
return -1
};