1. 문제(원본)
You're given strings J representing the types of stones that are jewels, and S representing the stones you have. Each character in S is a type of stone you have. You want to know how many of the stones you have are also jewels.
The letters in J are guaranteed distinct, and all characters in J and S are letters. Letters are case sensitive, so "a" is considered a different type of stone from "A".
Example 1:
Input: J = "aA", S = "aAAbbbb" Output: 3
Example 2:
Input: J = "z", S = "ZZ" Output: 0
Note:
- S and J will consist of letters and have length at most 50.
- The characters in J are distinct.
2. 문제
S문자열에서 J문자열에 포함된 캐릭터의 수를 구하라
3. 나의 답
class Solution {
func numJewelsInStones(_ J: String, _ S: String) -> Int {
var count = 0
J.forEach { (j) in
S.forEach { (s) in
if j == s {
count += 1
}
}
}
return count
}
}
4. 다른 유저의 답
#1
func numJewelsInStones(_ J: String, _ S: String) -> Int {
var jewels = 0
for s in S where J.contains(s) {
jewels += 1
}
return jewels
}
5. 마무리
저번과 비슷한 문제라고 생각하여 이중 포문을 사용해서 풀었지만
다른 유저의 답변을 보고 where과 contains를 사용하는 편이 더 나았을 것 같은 생각이 들었다.
'알고리즘 > 해결' 카테고리의 다른 글
LeetCode1365. How Many Numbers Are Smaller Than the Current Number (0) | 2020.03.08 |
---|---|
LeetCode1221. Split a String in Balanced Strings (0) | 2020.02.23 |
LeetCode1351. Count Negative Numbers in a Sorted Matrix (0) | 2020.02.16 |
LeetCode1342. Number of Steps to Reduce a Number to Zero (0) | 2020.02.16 |
LeetCode1295. Find Numbers with Even Number of Digits (0) | 2020.02.02 |