Question
Given two strings, find the number of common characters between them.
Example
For s1 = "aabcc"
and s2 = "adcaa"
, the output should be
commonCharacterCount(s1, s2) = 3
.
Strings have 3
common characters - 2
"a"s and 1
"c".
Input/Output
[execution time limit] 4 seconds (py3)
[input] string s1
A string consisting of lowercase English letters.
Guaranteed constraints:
1 ≤ s1.length < 15
.[input] string s2
A string consisting of lowercase English letters.
Guaranteed constraints:
1 ≤ s2.length < 15
.[output] integer
MY_ANSWER
def commonCharacterCount(s1, s2):
letter = 0
list_s1 = list(s1)
list_s2 = list(s2)
for i in list_s1:
if i in list_s2:
letter += 1
list_s2.remove(i)
return letter
-> s1을 기준으로 s2와 동시에 존재하는 문자를 헤아린다. 중복으로 여러 번 헤아리지 않도록 remove를 해준다.
Best_ANSWER
def commonCharacterCount(s1, s2):
com = [min(s1.count(i),s2.count(i)) for i in set(s1)]
return sum(com)
-> set으로 s1에서 헤아릴 문자를 확인한다. min을 이용하여 s1, s2에 동시에 존재할 경우를 고려한다.