Hackerrank - Two Strings Solution
Given two strings, determine if they share a common substring. A substring may be as small as one character.
For example, the words "a", "and", "art" share the common substring . The words "be" and "cat" do not share a substring.
Complete the function twoStrings in the editor below. It should return a string, either
NO based on whether the strings share a common substring.
twoStrings has the following parameter(s):
- s1, s2: two strings to analyze .
The first line contains a single integer , the number of test cases.
The following pairs of lines are as follows:
- The first line contains string .
- The second line contains string .
- and consist of characters in the range ascii[a-z].
For each pair of strings, return
2 hello world hi world
We have pairs to check:
- s1= "hello", s2="world" . The substrings "o" and "l" are common to both strings.
- a="hi", b="world" . a and b share no common substrings.
Solution in Python
def twoStrings(s1, s2): return "YES" if set(s1) & set(s2) else "NO" for _ in range(int(input())): print(twoStrings(input(), input()))
We can also write as follows
def twoStrings(s1, s2): if set(s1) & set(s2): return "YES" else: return "NO" for _ in range(int(input())): print(twoStrings(input(), input()))
First, we convert both s1 and s2 as sets, so that we can apply set operations.
Now to get the common elements between s1 and s2. We just have to use a set intersection.
We can write set intersection, where a and b are two sets, in python as
a & b
or we can write it as follows