Skip to content
Related Articles

Related Articles

Find the number of players who roll the dice when the dice output sequence is given
  • Last Updated : 17 Apr, 2019

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: 5
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: 4

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 <bits/stdc++.h>
using namespace std;
  
// Function to return the number of players
int 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 code
int main()
{
    string s = "3662123";
    int x = 6;
    cout << findM(s, x);
  
    return 0;
}


Java




// Java implementation of the approach
import java.util.*;
  
class GFG
{
  
// Function to return the number of players
static 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 code
public 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 players
def 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 code
if __name__ == '__main__':
    s = "3662123"
    x = 6
    print(findM(s, x))
      
# This code is contributed by
# Surendra_Gangwar


C#




// C# implementation of the approach
using System;
  
class GFG
{
  
// Function to return the number of players
static 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 code
public static void Main()
{
    String s = "3662123";
    int x = 6;
    Console.Write(findM(s, x));
}
}
  
// This code is contributed by
// mohit kumar


PHP




<?php
// PHP implementation of the approach 
  
// Function to return the number of players 
function findM($s, $x
  
    // Initialize cnt as 0 
    $cnt = 0; 
  
    // Iterate in the string 
    for ($i = 0; $i < strlen($s); $i++) 
    
  
        // Check for numbers other than x 
        if (ord($s[$i]) - ord('0') != $x
            $cnt++; 
    
    return $cnt
  
// Driver code 
$s = "3662123"
$x = 6; 
  
echo findM($s, $x); 
  
// This code is contributed by Ryuga
?>


Output:

5

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :