# Find the number of players who roll the dice when the dice output sequence is given

• Last Updated : 21 Jun, 2022

Given a string S and a number X. There are M players who roll the dice. A player keeps on rolling the dice until he gets a number other than X. In the string S, S[i] represents the number at ith roll of a dice. The task is to find M. Note that the last character in S will never be X.
Examples:

Input: s = “3662123”, X = 6
Output:
First player rolls and gets 3.
Second player rolls and gets 6, 6 and 2.
Third player rolls and gets 1.
Fourth player rolls and gets 2.
Fifth player rolls and gets 3.
Input: s = “1234223”, X = 2
Output:

Approach: Iterate in the string and count the characters which are not X. The number of characters which are not X will be the number of players.
Below is the implementation of the above approach:

## C++

 // C++ implementation of the approach#include using namespace std; // Function to return the number of playersint findM(string s, int x){     // Initialize cnt as 0    int cnt = 0;     // Iterate in the string    for (int i = 0; i < s.size(); i++) {         // Check for numbers other than x        if (s[i] - '0' != x)            cnt++;    }    return cnt;} // Driver codeint main(){    string s = "3662123";    int x = 6;    cout << findM(s, x);     return 0;}

## Java

 // Java implementation of the approachimport java.util.*; class GFG{ // Function to return the number of playersstatic int findM(String s, int x){     // Initialize cnt as 0    int cnt = 0;     // Iterate in the string    for (int i = 0; i < s.length(); i++)    {         // Check for numbers other than x        if (s.charAt(i) - '0' != x)            cnt++;    }    return cnt;} // Driver codepublic static void main(String args[]){    String s = "3662123";    int x = 6;    System.out.println(findM(s, x)); }} //This code is contributed by// Surendra_Gangwar

## Python3

 # Python 3 implementation of the approach # Function to return the number of playersdef findM(s, x):         # Initialize cnt as 0    cnt = 0     # Iterate in the string    for i in range(len(s)):                 # Check for numbers other than x        if (ord(s[i]) - ord('0') != x):            cnt += 1     return cnt # Driver codeif __name__ == '__main__':    s = "3662123"    x = 6    print(findM(s, x))     # This code is contributed by# Surendra_Gangwar

## C#

 // C# implementation of the approachusing System; class GFG{ // Function to return the number of playersstatic int findM(String s, int x){     // Initialize cnt as 0    int cnt = 0;     // Iterate in the string    for (int i = 0; i < s.Length; i++)    {         // Check for numbers other than x        if (s[i] - '0' != x)            cnt++;    }    return cnt;} // Driver codepublic static void Main(){    String s = "3662123";    int x = 6;    Console.Write(findM(s, x));}} // This code is contributed by// mohit kumar



## Javascript



Output:

5

Time Complexity: O(N), as we are using a loop to traverse N times. Where N is the length of the string.

Auxiliary Space: O(1), as we are not using any extra.

My Personal Notes arrow_drop_up