Open In App

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

Last Updated : 21 Jun, 2022
Summarize
Comments
Improve
Suggest changes
Share
Like Article
Like
Report

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 <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
?>
JavaScript
<script>
// javascript implementation of the approach

    // Function to return the number of players
    function findM( s , x) {

        // Initialize cnt as 0
        var cnt = 0;

        // Iterate in the string
        for (i = 0; i < s.length; i++) {

            // Check for numbers other than x
            if (s.charCodeAt(i) - '0'.charCodeAt(0) != x)
                cnt++;
        }
        return cnt;
    }

    // Driver code
    
        var s = "3662123";
        var x = 6;
        document.write(findM(s, x));

// This code contributed by Rajput-Ji 
</script>

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.


Article Tags :
Practice Tags :

Similar Reads