Last Updated: 2 Dec, 2020

Check if the Word is present in Sentence or not

Easy
Asked in companies
AmazonWalmartIntuit

Problem statement

You have been given a sentence ‘S’ in the form of a string and a word ‘W’, you need to find whether the word is present in the given sentence or not. The word must be present as a complete string in the sentence and not a substring of some other word.

Note:

1. All the characters in the string and the word are in lowercase.
2. Length of the sentences and the words will always be greater than zero.
3. Words in the sentence will be separated by spaces.

Input Format :

The first line of the input contains an integer ‘T’ denoting the number of test cases.

The first line of each test case contains the sentence ‘S’.

The second line of each test case contains the word ‘W’.

Output Format :

The only line of output of each test case should print “Yes” if the word ‘W’ is present in the sentence ‘S’, else print “No”.

The output of each test case will be printed in a separate line.

Note: You are not required to print the expected output; it has already been taken care of. Just implement the function.

Constraints :

1 <= T <= 50
1 <= |S|, |W| <= 10000

Where ‘T’ is the number of test cases, ‘S’ and ‘W’ are strings as described in the problem statement.

Time limit: 1 sec

Approaches

01 Approach

The basic idea of this approach is to check each word of the given sentence ‘S’ if it matches with the given word ‘W’.


 

Consider the following steps:

  1. Start iterating through each character of sentence string ‘S’ using a variable ‘i’ such that 0 <= ‘i’ < |S|
    • Create a string “temp” which stores the current word.
    • Add all the subsequent characters of the sentence till space is detected or if all end of the string is reached.
    • Check if the word ‘W’ matches with “temp”. Return true if it matches.
  2. After the loop ends return false because the word is not present in the sentence.

02 Approach

In the last approach, we were explicitly storing the words of the sentence in a set, but there are some in-built libraries (like stringstream in C++) that can do this on their own.( We can use split function in Python to do the same).

The stringstream breaks the sentence into words, and then we can easily check whether the given word is present or not.

Consider the following steps:

  1. Let the stringstream be “ss”, which breaks the sentence into words. Also, create another temporary string “temp”, to store the current word.
  2. While our sentence doesn’t end, do (ss >> temp). This statement breaks “ss” into words and stores the current word in “temp”.
    • Check if word ‘W’ matches with “temp”. Return true if it matches.
  3. After the loop ends, return false, since the word is not present.