Python/알고리즘

[파이썬 알고리즘 인터뷰] 29. 보석과 돌

AI 꿈나무 2021. 3. 5. 15:06
반응형

 

 이 포스팅은 파이썬 알고리즘 인터뷰를 공부하면서 정리한 내용입니다.

 

 출처 : 파이썬 알고리즘 인터뷰

 코드 출처 : 파이썬 알고리즘 인터뷰 깃허브

 


29. 보석과 돌

leetcode 771. Jewels and Stones 문제입니다.

leetcode.com/problems/jewels-and-stones/

 

 

풀이

1. 한줄 풀이

def numJewelsInStones(self, J, S):
    return sum(s in J for s in S)

 S에 있는 char을 하나씩 꺼내면서 J에 있는 char이면 True를 반환합니다.

 sum 함수로 True의 개수를 다 더합니다.

 

2. Counter 이용

def numJewelsInStones(self, J, S):
    freqs = collections.Counter(S)
    count = 0
    for char in J:
        count += freqs[char]
    return count

 S의 요소를 Counter 모듈로 다 더한 딕셔너리를 만듭니다.

 J에 있는 char을 하나씩 꺼내면서 딕셔너리의 수를 더해줍니다.

반응형