Encuentre el número de jugadores que tiran los dados cuando se da la secuencia de salida de dados

Dada una string S y un número X. Hay M jugadores que tiran los dados. Un jugador sigue tirando los dados hasta que obtiene un número distinto de X. En la string S, S[i] representa el número en el i -ésimo lanzamiento de un dado. La tarea es encontrar M . Tenga en cuenta que el último carácter en S nunca será X .
Ejemplos: 
 

Entrada: s = “3662123”, X = 6 
Salida:
El primer jugador lanza y obtiene 3. El 
segundo jugador lanza y obtiene 6, 6 y 2. 
El tercer jugador lanza y obtiene 1. El 
cuarto jugador lanza y obtiene 2.  El
quinto jugador lanza y obtiene 2. obtiene 3. 
Entrada: s = “1234223”, X = 2 
Salida:
 

Enfoque: iterar en la string y contar los caracteres que no son X . El número de personajes que no sean X será el número de jugadores.
A continuación se muestra la implementación del enfoque anterior: 
 

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>
Producción: 

5

 

Complejidad de tiempo: O (N), ya que estamos usando un bucle para atravesar N veces. Donde N es la longitud de la string.

Espacio Auxiliar: O(1), ya que no estamos usando ningún extra.

Publicación traducida automáticamente

Artículo escrito por Striver y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *