Bleeding edge

[leetcode] 28. Implement strStr() - 자바스크립트 0607 본문

코딩테스트 공부

[leetcode] 28. Implement strStr() - 자바스크립트 0607

codevil 2022. 6. 7. 11:50

https://leetcode.com/problems/implement-strstr/

 

Implement strStr() - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

문제에 주어지는 변수는 haystack과 needle이다.haystack안에 needle이 포함되어 있다면, needle의 indexOf를 찾으라는 문제이다. 이때, needle이 주어지지 않았다면 0이나오게하고, 포함되지 않아있다면 -1을 내보내야한다.

이 문제는 문제풀이를 세우는 건 간단하지만 Boundary Condition을 세우는 것이 매우 중요한 문제다.(문제 풀이 할 때 오답이 나왔던 이유)

1. needle에 변수가 안들어간 경우에는 0을 return 한다

    if (!needle) return 0

2. haystack에 needle이 없으면 -1을 리턴할 것

    return -1

그리고 일반적인 문제 풀이인

    if (haystack.includes(needle)) return haystack.indexOf(needle)

includes로 유무를 확인한뒤, return indexof를 넣는다. 문제를 풀면서 6분정도를 더 소요했던게... 문제를 needle.length를 내보내는줄알고.. 시간을 쓸데 없이보냈다.. 문제를 잘읽어야겠다.. 흑..

전체 문제풀이

var strStr = function (haystack, needle) {
    if (!needle) return 0
    if (haystack.includes(needle)) return haystack.indexOf(needle)
    return -1
};