[Easy] Jewels and Stones


Problem:
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 letter 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”

Example1:
Input: J = “aA”, S = “aAAbbbb” Output: 3
Example2:
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.



해설:
입력값으로 보석 타입이 들어있는 ‘J’ 와 돌 타입이 들어있는 ‘S’ 라는 문자열이 주어진다. ‘S’ 문자열의 각 문자는 내가 갖고있는 돌이고, 이 돌들 중 얼만큼이 보석도 되는지를 알아내면 된다. (S = 그냥 돌, J = 돌이지만 보석인 돌)
J에 있는 문자들은 모두 서로 다른 문자들이고, 같은 문자의 대문자와 소문자는 다른 문자로 간주한다 (a와 A는 서로 다른 문자).

참고사항:

  • S 와 J는 모두 문자로 이루어져있으며 최대 길이는 50이다.
  • J 에 있는 문자열은 모두 서로 다른 문자로 이루어져있다.

Code:

class Solution:
    def numJewelsInStones(self, J: str, S: str) -> int:
        jewels = list(J)            # 문자열 --> 리스트
        count = 0                   # 갯수 카운트
        for j in range(len(S)):
            for item in jewels:
                if item == S[j]:    # 만약 J의 문자열과 S의 문자열이 같으면 count 변수에 + 1
                    count += 1
                else:               # 같지 않다면, 계속 진행한다
                    continue
        return count                # 더해진 갯수가 들어있는 count 변수를 반환한다.