'파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀
문제 👉 <Jewels and Stones - LeetCode>
1. 문제 (보석과 돌)
돌에 보석이 몇개 있는지 구해라. (대소문자 구분)
2. 풀이
해시
를 이용한 풀이Counter
를 이용한 풀이파이썬 스타일
을 이용한 풀이
3. 코드
해시
를 이용한 풀이
from collections import defaultdict
class Solution:
def numJewelsInStones(self, jewels: str, stones: str) -> int:
ret, dic = 0, defaultdict(int)
for s in stones:
dic[s] += 1
for j in jewels:
ret += dic[j]
return ret
Counter
를 이용한 풀이
from collections import Counter
class Solution:
def numJewelsInStones(self, jewels: str, stones: str) -> int:
ret, cnt = 0, Counter(stones)
for j in jewels:
ret += cnt[j]
return ret
파이썬 스타일
을 이용한 풀이
class Solution:
def numJewelsInStones(self, jewels: str, stones: str) -> int:
return sum(s in jewels for s in stones)
- 결과 :
방식 | Status | Runtime | Memory | Language |
---|---|---|---|---|
해시 | [Accepted] | 32 ms | 14.3 MB | python3 |
Counter | [Accepted] | 32 ms | 14.1 MB | python3 |
파이썬 스타일 | [Accepted] | 28 ms | 14 MB | python3 |
References
🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋
'Coding Test > LeetCode' 카테고리의 다른 글
[LeetCode] 22. Generate Parentheses [JAVA(자바)] (0) | 2021.11.23 |
---|---|
[LeetCode] 739 Daily Temperatures [Python(파이썬)] (0) | 2021.11.23 |
[LeetCode] 347. Top K Frequent Elements [Python(파이썬)] (0) | 2021.11.23 |
댓글