class Solution:
    def countPoints(self, r: str) -> int:
        ans = 0
        for i in range(10):
            i = str(i)
            if 'R'+i in r and 'G'+i in r and 'B'+i in r:
                ans += 1
        return ans
class Solution {
    public int countPoints(String rings) {
        Map<Integer,Set<Character>> m=new HashMap<>();
        for(int i=0;i<rings.length();i=i+2){
            char c=rings.charAt(i);
            int index=(int)rings.charAt(i+1);
            if(m.containsKey(index)){
                Set<Character> x=m.get(index);
                x.add(c);
                m.put(index,x);
            }else{
                Set<Character> x=new HashSet<>();
                x.add(c);
                m.put(index,x);
            }
        }
        int count=0;
        for(Set<Character> k : m.values()){
            if(k.size()==3) count++;
        }
        return count;
    }
}
Rings and Rods
There are n rings and each ring is either red, green, or blue. The rings are distributed across ten rods labeled from 0 to 9.

You are given a string rings of length 2n that describes the n rings that are placed onto the rods. Every two characters in rings forms a color-position pair that is used to describe each ring where:


	The first character of the ith pair denotes the ith ring's color ('R', 'G', 'B').
	The second character of the ith pair denotes the rod that the ith ring is placed on ('0' to '9').


For example, "R3G2B1" describes n == 3 rings: a red ring placed onto the rod labeled 3, a green ring placed onto the rod labeled 2, and a blue ring placed onto the rod labeled 1.

Return the number of rods that have all three colors of rings on them.

&nbsp;
Example 1:

Input: rings = "B0B6G0R6R0R6G9"
Output: 1
Explanation: 
- The rod labeled 0 holds 3 rings with all colors: red, green, and blue.
- The rod labeled 6 holds 3 rings, but it only has red and blue.
- The rod labeled 9 holds only a green ring.
Thus, the number of rods with all three colors is 1.


Example 2:

Input: rings = "B0R0G0R9R0B0G0"
Output: 1
Explanation: 
- The rod labeled 0 holds 6 rings with all colors: red, green, and blue.
- The rod labeled 9 holds only a red ring.
Thus, the number of rods with all three colors is 1.


Example 3:

Input: rings = "G4"
Output: 0
Explanation: 
Only one ring is given. Thus, no rods have all three colors.


&nbsp;
Constraints:


	rings.length == 2 * n
	1 &lt;= n &lt;= 100
	rings[i] where i is even is either 'R', 'G', or 'B' (0-indexed).
	rings[i] where i is odd is a digit from '0' to '9' (0-indexed).


/**
 * @param {string} rings
 * @return {number}
 */
var countPoints = function(rings) {
    let rods = Array(10).fill("");
    for(let i = 0; i < rings.length; i += 2){
        if(!(rods[rings[i+1]].includes(rings[i]))) rods[rings[i+1]] += rings[i]
    }
    return rods.filter(rod => rod.length > 2).length
};
class Solution {
public:
    int countPoints(string rings) {

        int n=rings.length();
        //It is given that number of rod is 10 0 to 9 so we have to place ring any of these
        vector<int>vp(10,0);//store the no of rings
        for(int i=0;i<n;i+=2)
        {
            char col=rings[i];
            vp[rings[i+1]-'0']|=(col=='R'? 1: col =='G' ? 2 : 4);//checking for rings

        }
        int count=0;
        for(int i=0;i<10;i++)
        {
            if(vp[i]==7)
            {
                count++;
            }
        }
        return count;

    }
};