# [Leet Code] Rings and Rods

• 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'`).
`Input: rings = "B0B6G0R6R0R6G9"Output: 1Explanation: - 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.`
`Input: rings = "B0R0G0R9R0B0G0"Output: 1Explanation: - 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.`
`Input: rings = "G4"Output: 0Explanation: Only one ring is given. Thus, no rods have all three colors.`
• `rings.length == 2 * n`
• `1 <= n <= 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).
`func countPoints(rings string) int {    hashMap := make(map[string][]string)    counter := 0    for i := 0; i < len(rings); i+= 2{        letter := string(rings[i])        number := string(rings[i+1])        hashMap[number] = append(hashMap[number], letter)    }    fmt.Println(hashMap)    for number := range hashMap{        if len(unique(hashMap[number])) == 3{            counter += 1        }    }    return counter}func unique(intSlice []string) []string {    keys := make(map[string]bool)    list := []string{}     for _, entry := range intSlice {        if _, value := keys[entry]; !value {            keys[entry] = true            list = append(list, entry)        }    }        return list}`

--

--