티스토리 뷰

Codesignal

code signal - 10. commonCharacterCount

터보건 2020. 1. 29. 16:08

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에 동시에 존재할 경우를 고려한다.

 

'Codesignal' 카테고리의 다른 글

code signal - 12. Sort by Height  (0) 2020.01.29
code signal - 11. isLucky  (0) 2020.01.29
code signal - 9. All Longest Strings  (0) 2020.01.29
code signal - 8. matrixElementsSum  (0) 2020.01.29
code signal - 7.almostIncreasingSequence  (0) 2020.01.29
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함