Recuento de alfabetos que tienen un valor ASCII menor que y mayor que k

Dada una string, la tarea es contar el número de alfabetos que tienen valores ASCII menores y mayores o iguales a un entero k dado.
 

Ejemplos: 

Input: str = "GeeksForGeeks", k = 90
Output: 3, 10
G, F, G have ascii values less than 90.
e, e, k, s, o, r, e, e, k, s have ascii values 
greater than or equal to 90

Input: str = "geeksforgeeks", k = 90
Output: 0, 13 

Enfoque: Comience a recorrer la string y verifique si el carácter actual tiene un valor ASCII menor que k. Si es así, entonces incremente el conteo. 
Entonces, los caracteres restantes tendrán valores ASCII mayores o iguales a k. Por lo tanto, imprima len_of_String: cuente los caracteres con valores ASCII mayores o iguales a k.
A continuación se muestra la implementación del enfoque anterior: 

C++

// C++ implementation of the above approach
#include <bits/stdc++.h>
using namespace std;
 
// Function to count the number of
// characters whose ascii value is less than k
int CountCharacters(string str, int k)
{
    // Initialising the count to 0
    int cnt = 0;
 
    int len = str.length();
    for (int i = 0; i < len; i++) {
        // Incrementing the count
        // if the value is less
        if (str[i] < k)
            cnt++;
    }
 
    // return the count
    return cnt;
}
 
// Driver code
int main()
{
    string str = "GeeksForGeeks";
    int k = 90;
 
    int count = CountCharacters(str, k);
    cout << "Characters with ASCII values"
            " less than K are "
         << count;
 
    cout << "\nCharacters with ASCII values"
            " greater than or equal to K are "
         << str.length() - count;
 
    return 0;
}

Java

// Java implementation of the above approach
import java.util.*;
 
class GFG {
     
// Function to count the number of
// characters whose ascii value is less than k
static int CountCharacters(String str, int k)
{
    // Initialising the count to 0
    int cnt = 0;
 
    int len = str.length();
    for (int i = 0; i < len; i++) {
        // Incrementing the count
        // if the value is less
        if (((int)str.charAt(i)) < k)
            cnt++;
    }
 
    // return the count
    return cnt;
}
 
// Driver code
public static void main(String args[])
{
    String str = "GeeksForGeeks";
    int k = 90;
 
    int count = CountCharacters(str, k);
    System.out.println("Characters with ASCII values less than K are "+count);
 
    System.out.println("Characters with ASCII values greater than or equal to K are "+(str.length() - count));
 
}
}

Python3

# Python3 implementation of the
# above approach
 
# Function to count the number of
# characters whose ascii value is
# less than k
def CountCharacters(str, k):
 
    # Initialising the count to 0
    cnt = 0
 
    l = len(str)
    for i in range(l):
         
        # Incrementing the count
        # if the value is less
        if (ord(str[i]) < k):
            cnt += 1
 
    # return the count
    return cnt
 
# Driver code
if __name__ == "__main__":
 
    str = "GeeksForGeeks"
    k = 90
 
    count = CountCharacters(str, k)
    print ("Characters with ASCII values",
                "less than K are", count)
 
    print ("Characters with ASCII values",
           "greater than or equal to K are",
                           len(str) - count)
 
# This code is contributed by ita_c

C#

// C# implementation of the above approach
using System;
class GFG {
     
// Function to count the number of
// characters whose ascii value is less than k
static int CountCharacters(String str, int k)
{
    // Initialising the count to 0
    int cnt = 0;
 
    int len = str.Length;
    for (int i = 0; i < len; i++)
    {
        // Incrementing the count
        // if the value is less
        if (((int)str[i]) < k)
            cnt++;
    }
 
    // return the count
    return cnt;
}
 
// Driver code
public static void Main()
{
    String str = "GeeksForGeeks";
    int k = 90;
    int count = CountCharacters(str, k);
    Console.WriteLine("Characters with ASCII values" +
                        "less than K are " + count);
 
    Console.WriteLine("Characters with ASCII values greater" +
                    "than or equal to K are "+(str.Length - count));
}
}
 
// This code is contributed by princiraj1992

PHP

<?php
// PHP implementation of the above approach
 
// Function to count the number of
// characters whose ascii value is less than k
function CountCharacters($str, $k)
{
    // Initialising the count to 0
    $cnt = 0;
 
    $len = strlen($str);
    for ($i = 0; $i < $len; $i++)
    {
        // Incrementing the count
        // if the value is less
        if ($str[$i] < chr($k))
            $cnt += 1;
    }
 
    // return the count
    return $cnt;
}
 
// Driver code
$str = "GeeksForGeeks";
$k = 90;
 
$count = CountCharacters($str, $k);
echo("Characters with ASCII values" .
       " less than K are " . $count);
 
echo("\nCharacters with ASCII values" .
     " greater than or equal to K are " .
                (strlen($str) - $count));
 
// This code contributed by Rajput-Ji
?>

Javascript

<script>
// Javascript implementation of the above approach
     
    // Function to count the number of
    // characters whose ascii value is less than k
    function CountCharacters(str,k)
    {
        // Initialising the count to 0
    let cnt = 0;
   
    let len = str.length;
    for (let i = 0; i < len; i++) {
        // Incrementing the count
        // if the value is less
        if (str[i].charCodeAt(0) < k)
            cnt++;
    }
   
    // return the count
    return cnt;
    }
     
    // Driver code
    let str = "GeeksForGeeks";
    let k = 90;
    let count = CountCharacters(str, k);
    document.write("Characters with ASCII values less than K are "+count+"<br>");
     
    document.write("Characters with ASCII values greater than or equal to K are "+(str.length - count));
     
    // This code is contributed by avanitrachhadiya2155
</script>
Producción: 

Characters with ASCII values less than K are 3
Characters with ASCII values greater than or equal to K are 10

 

Complejidad de tiempo: O(N), ya que estamos usando un bucle para atravesar N veces, por lo que nos costará O(N) tiempo 
Espacio auxiliar: O(1), ya que no estamos usando ningún espacio adicional.
 

Publicación traducida automáticamente

Artículo escrito por imdhruvgupta 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 *