<Easy> Find the Index of the First Occurrence in a String (LeetCode : C#)

이도희·2023년 3월 11일
0

알고리즘 문제 풀이

목록 보기
28/185

https://leetcode.com/problems/find-the-index-of-the-first-occurrence-in-a-string/

📕 문제 설명

두 문자열 needle, haystack이 주어질 때 needle이 haystack에서 처음으로 나오는 인덱스 반환 (없으면 -1 반환)

  • Input
    두 문자열 needle, haystack
  • Output
    처음으로 나오는 index (없으면 -1)

예제

풀이

  1. haystack의 특정 index의 문자가 needle의 첫 문자랑 같은 지 확인 + (해당 index + needle 단어 길이가 haystack index 안넘어 가는지도 확인)
  2. 첫 문자랑 같으면 해당 단어부터 needle 단어 길이만큼 확인하며 needle이랑 같은지 확인
  3. 같으면 해당 index 반환, 아니면 넘어가서 계속 확인
  4. 끝까지 봤는데 없으면 -1 반환
public class Solution {
    public int StrStr(string haystack, string needle) {

        for(int i = 0; i < haystack.Length; i++)
        {
            if (haystack[i] == needle[0] && i + (needle.Length - 1) < haystack.Length)
            {
                for (int j = i; j < i + needle.Length; j++)
                {
                    if (haystack[j] != needle[j - i])
                    {
                        break;
                    }

                    if (j == i + needle.Length - 1) return i;
                }
            }
        }

        return -1;
        
    }
}

결과

profile
하나씩 심어 나가는 개발 농장🥕 (블로그 이전중)

0개의 댓글