Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

개발 일지

1455. Check If a Word Occurs As a Prefix of Any Word in a Sentence(문장에서 어떤 단어의 접두사로 단어가 나타나는지 확인) 본문

코딩 테스트/LeetCode

1455. Check If a Word Occurs As a Prefix of Any Word in a Sentence(문장에서 어떤 단어의 접두사로 단어가 나타나는지 확인)

포카리tea 2024. 11. 7. 17:55
단일 공백으로 구분된 일부 단어와 searchWord로 구성된 searchWord이 주어지면 searchWord가 searchWord에 있는 단어의 접두사인지 확인합니다. searchWord가 이 단어의 접두사인 searchWord(1-index)으로 단어의 인덱스를 반환합니다. /searchWord가 두 단어 이상의 접두사인 경우 첫 번째 단어의 인덱스(최소 인덱스)를 반환합니다. 해당 단어가 없으면 -1을 반환합니다. 문자열 s의 접두사는 s의 선행 연속 하위 문자열입니다.

 

 

예시 1:

입력: 문장 = sentence = "i love eating burger", searchWord = "burg"
출력: 4
설명: "burg"는 문장의 4번째 단어인 "burger"의 접두사입니다.

 

예시 2:

입력: sentence = "this problem is an easy problem", searchWord = "pro"
출력: 2
설명: "pro"는 문장의 2번째, 6번째 단어인 "problem"의 접두사이지만 최소 인덱스이므로 2를 반환합니다.

 

예시 3:

입력: sentence = "i am tired", searchWord = "you"
출력: -1
설명: "당신"은 문장의 어느 단어의 접두사도 아닙니다.

 

 

조건:

  • 1 <= sentence.length <= 100
  • 1 <= searchWord.length <= 10
  • sentence소문자 영어 문자와 공백으로 구성됩니다.
  • searchWord소문자 영어 글자로 구성됩니다.

 

 

정답:

public class Solution {
    public int IsPrefixOfWord(string sentence, string searchWord) {
        string[] sentenceArray = sentence.Split(" ");
        
        for (int i = 0; i < sentenceArray.Length; i++)
        {
            if (sentenceArray[i].Contains(searchWord) && sentenceArray[i].Substring(0, searchWord.Length) == searchWord)
            {
                return i + 1;
            }
        }
        
        return -1;
    }
}

해설: sentenceArray배열에서 앞쪽에 searchWord가 있면 해당 배열의 index값을 return하고 없다면 -1을 반환합니다.