diff --git a/problems/check-if-a-word-occurs-as-a-prefix-of-any-word-in-a-sentence/check_if_a_word_occurs_as_a_prefix_of_any_word_in_a_sentence.go b/problems/check-if-a-word-occurs-as-a-prefix-of-any-word-in-a-sentence/check_if_a_word_occurs_as_a_prefix_of_any_word_in_a_sentence.go new file mode 100644 index 000000000..703b7c628 --- /dev/null +++ b/problems/check-if-a-word-occurs-as-a-prefix-of-any-word-in-a-sentence/check_if_a_word_occurs_as_a_prefix_of_any_word_in_a_sentence.go @@ -0,0 +1,13 @@ +package problem1455 + +import "strings" + +func isPrefixOfWord(sentence string, searchWord string) int { + items := strings.Fields(sentence) + for i, item := range items { + if strings.HasPrefix(item, searchWord) { + return i + 1 + } + } + return -1 +} diff --git a/problems/check-if-a-word-occurs-as-a-prefix-of-any-word-in-a-sentence/check_if_a_word_occurs_as_a_prefix_of_any_word_in_a_sentence_test.go b/problems/check-if-a-word-occurs-as-a-prefix-of-any-word-in-a-sentence/check_if_a_word_occurs_as_a_prefix_of_any_word_in_a_sentence_test.go new file mode 100644 index 000000000..30813227d --- /dev/null +++ b/problems/check-if-a-word-occurs-as-a-prefix-of-any-word-in-a-sentence/check_if_a_word_occurs_as_a_prefix_of_any_word_in_a_sentence_test.go @@ -0,0 +1,45 @@ +package problem1455 + +import "testing" + +type testType struct { + sentence string + searchWord string + want int +} + +func TestIsPrefixOfWord(t *testing.T) { + tests := [...]testType{ + { + sentence: "i love eating burger", + searchWord: "burg", + want: 4, + }, + { + sentence: "this problem is an easy problem", + searchWord: "pro", + want: 2, + }, + { + sentence: "i am tired", + searchWord: "you", + want: -1, + }, + { + sentence: "i use triple pillow", + searchWord: "pill", + want: 4, + }, + { + sentence: "hello from the other side", + searchWord: "they", + want: -1, + }, + } + for _, tt := range tests { + got := isPrefixOfWord(tt.sentence, tt.searchWord) + if got != tt.want { + t.Fatalf("in: %v, got: %v, want: %v", tt.sentence, got, tt.want) + } + } +}