Code360 powered by Coding Ninjas X Naukri.com. Code360 powered by Coding Ninjas X Naukri.com

Word Pattern

Easy
0/40
Average time to solve is 15m
profile
Contributed by
5 upvotes
Asked in companies
MyntraUberMasterCard

Problem statement

You have been given two strings 'S' and ‘T’. Your task is to find if ‘S’ follows the same pattern as ‘T’.

Here follow means a full match, i.e. there is a bijection between a letter of ‘T’ and a non-empty word of ‘S’.

For Example:
If the given string is S = "lion cow cow lion" and T = “wccw”, then the string ‘S’ follows the same pattern as string ‘T’.
Note:
'T’ contains only lowercase English letters.

‘S’ contains only lowercase English letters and spaces.

‘S’ does not contain any trailing or leading spaces. All words in ‘S’ are separated by a single space.
Detailed explanation ( Input/output format, Notes, Images )
Input Format:
The first line contains an integer 't' which denotes the number of test cases or queries to be run. Then the test cases follow.

The first line of each test case contains a string ‘S’.

The second line of each test case contains a string ‘T’.
Output Format:
For each test case, the only line of output will print “Yes” if ‘S’ follows the same pattern as ‘T’. Else print “No”.

Print the output of each test case 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 <= 100
1 <= |S| <= 5000
1 <= |T| <= 5000

Time Limit: 1 second
Sample Input 1:
1
ship ship ship ship
rrbb
Sample Output 1:
No
Explanation For Sample Output 1:
Here, string ‘S’ does not match the pattern with the string ‘T’ because different characters map the same word. 
Sample Input 2:
2
red blue blue red
ebbe
moon moon moon moon
aaaa
Sample Output 2:
Yes
Yes
Full screen
Console