문제
풀이
파이썬 풀이
class Solution:
def numJewelsInStones(self, jewels: str, stones: str) -> int:
num = 0
for jewel in jewels:
num += stones.count(jewel)
return num
러스트 풀이
처음에 내가 생각한 풀이
impl Solution {
pub fn num_jewels_in_stones(jewels: String, stones: String) -> i32 {
let mut count = 0;
for stone in stones.chars() {
if jewels.contains(&stone.to_string()) {
count += 1;
}
}
count
}
}
너무 파이썬 같은 풀이인 것 같아서 다른 풀이도 찾아보았는데 훨씬 함수형 프로그래밍에 적합한 풀이가 있다.
impl Solution {
pub fn num_jewels_in_stones(jewels: String, stones: String) -> i32 {
stones.chars().filter(|s| jewels.contains(*s)).count() as i32
}
}