개발 일지
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을 반환합니다.