관리 메뉴

솜씨좋은장씨

[leetCode] 916. Word Subsets (Python) 본문

Programming/코딩 1일 1문제

[leetCode] 916. Word Subsets (Python)

솜씨좋은장씨 2020. 8. 9. 12:13
728x90
반응형

We are given two arrays A and B of words.  Each word is a string of lowercase letters.

Now, say that word b is a subset of word a if every letter in b occurs in a, including multiplicity.  For example, "wrr" is a subset of "warrior", but is not a subset of "world".

Now say a word a from A is universal if for every b in B, b is a subset of a. 

Return a list of all universal words in A.  You can return the words in any order.

 

Example 1:

Input: A = ["amazon","apple","facebook","google","leetcode"], B = ["e","o"]
Output: ["facebook","google","leetcode"]

Example 2:

Input: A = ["amazon","apple","facebook","google","leetcode"], B = ["l","e"]
Output: ["apple","google","leetcode"]

Example 3:

Input: A = ["amazon","apple","facebook","google","leetcode"], B = ["e","oo"]
Output: ["facebook","google"]

Example 4:

Input: A = ["amazon","apple","facebook","google","leetcode"], B = ["lo","eo"]
Output: ["google","leetcode"]

Example 5:

Input: A = ["amazon","apple","facebook","google","leetcode"], B = ["ec","oc","ceo"]
Output: ["facebook","leetcode"]

Note:

  1. 1 <= A.length, B.length <= 10000
  2. 1 <= A[i].length, B[i].length <= 10
  3. A[i] and B[i] consist only of lowercase letters.
  4. All words in A[i] are unique: there isn't i != j with A[i] == A[j].

Solution

from collections import Counter
class Solution:
    def wordSubsets(self, A: List[str], B: List[str]) -> List[str]:
        answer=[]
        B_cnt = {}
        
        for b in B:
            b_cnt=Counter(b)
            
            for key in b_cnt:
                B_cnt[key]=max(B_cnt.get(key,0),b_cnt[key])

        for a in A:
            a_cnt=Counter(a)
            
            isCheck=True
            
            for key in B_cnt:
                if a_cnt.get(key,0)<B_cnt[key]:
                    isCheck=False
                    break
                    
            if isCheck == True:
                answer.append(a)
                
        return answer

 

 

SOMJANG/CODINGTEST_PRACTICE

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

 

Comments