Skip to content
Related Articles
Open in App
Not now

Related Articles

Count characters at same position as in English alphabet

Improve Article
Save Article
Like Article
  • Difficulty Level : Basic
  • Last Updated : 12 Dec, 2022
Improve Article
Save Article
Like Article

Given a string of lower and uppercase characters, the task is to find how many characters are in the same position as in the English alphabet.

Examples: 

Input:  ABcED 
Output :  3
First three characters are at same position
as in English alphabets.

Input:  geeksforgeeks 
Output :  1
Only 'f' is at same position as in English
alphabet

Input :  alphabetical 
Output :  3

For this we can have simple approach: 

1) Initialize result as 0.
2) Traverse input string and do following for every 
   character str[i]
     a) If 'i' is same as str[i] - 'a' or same as 
        str[i] - 'A', then do result++
3) Return result

Implementation:

C++




// C++ program to find number of characters at same
// position as in English alphabets
#include<bits/stdc++.h>
using namespace std;
 
int findCount(string str)
{
    int result = 0;
 
    // Traverse input string
    for (int i = 0 ; i < str.size(); i++)
 
        // Check that index of characters of string is
        // same as of English alphabets by using ASCII
        // values and the fact that all lower case
        // alphabetic characters come together in same
        // order in ASCII table.  And same is true for
        // upper case.
        if (i == (str[i] - 'a') || i == (str[i] - 'A'))
            result++;
 
 
    return result;
}
 
// Driver code
int main()
{
    string str = "AbgdeF";
    cout << findCount(str);
    return 0;
}


Java




// Java program to find number of
// characters at same position
// as in English alphabets
import java.io.*;
class GFG
{
 
    static int findCount(String str)
    {
        int result = 0;
 
        // Traverse input string
        for (int i = 0; i < str.length(); i++)
         
        // Check that index of characters
        // of string is same as of English
        // alphabets by using ASCII values
        // and the fact that all lower case
        // alphabetic characters come together
        // in same order in ASCII table. And
        // same is true for upper case.
        {
            if (i == (str.charAt(i) - 'a')
                    || i == (str.charAt(i) - 'A'))
            {
                result++;
            }
        }
        return result;
    }
 
    // Driver code
    public static void main(String[] args)
    {
        String str = "AbgdeF";
        System.out.print(findCount(str));
    }
}
 
// This code is contributed by Rajput-JI


Python3




# Python program to find number of
# characters at same position as
# in English alphabets
 
# Function to count the number of
# characters at same position as
# in English alphabets
def findCount(str):
    result = 0
 
    # Traverse the input string
    for i in range(len(str)):
 
        # Check that index of characters of string is
        # same as of English alphabets by using ASCII
        # values and the fact that all lower case
        # alphabetic characters come together in same
        # order in ASCII table. And same is true for
        # upper case.
        if ((i == ord(str[i]) - ord('a')) or
            (i == ord(str[i]) - ord('A'))):
            result += 1
    return result
 
# Driver Code
str = 'AbgdeF'
print(findCount(str))
 
# This code is contributed
# by SamyuktaSHegde


C#




// C# program to find number of
// characters at same position
// as in English alphabets
using System;
 
class GFG
{
static int findCount(string str)
{
    int result = 0;
 
    // Traverse input string
    for (int i = 0 ; i < str.Length; i++)
 
        // Check that index of characters
        // of string is same as of English
        // alphabets by using ASCII values
        // and the fact that all lower case
        // alphabetic characters come together
        // in same order in ASCII table. And
        // same is true for upper case.
        if (i == (str[i] - 'a') ||
            i == (str[i] - 'A'))
            result++;
 
    return result;
}
 
// Driver code
public static void Main()
{
    string str = "AbgdeF";
    Console.Write(findCount(str));
}
}
 
// This code is contributed
// by Akanksha Rai


PHP




<?php
// PHP program to find number of
// characters at same position as
// in English alphabets
 
// Function to count the number of
// characters at same position as
// in English alphabets
function findCount($str)
{
    $result = 0;
 
    // Traverse the input string
    for ($i = 0; $i < strlen($str); $i++)
    {
 
        // Check that index of characters of string is
        // same as of English alphabets by using ASCII
        // values and the fact that all lower case
        // alphabetic characters come together in same
        // order in ASCII table. And same is true for
        // upper case.
        if (($i == ord($str[$i]) - ord('a')) or
            ($i == ord($str[$i]) - ord('A')))
            $result += 1;
    }
    return $result;
}
 
// Driver Code
$str = "AbgdeF";
print(findCount($str))
 
// This code has been contributed by 29AjayKumar
?>


Javascript




<script>
      // JavaScript program to find number of characters at same
      // position as in English alphabets
 
      function findCount(str) {
        var result = 0;
 
        // Traverse input string
        for (var i = 0; i < str.length; i++)
          // Check that index of characters of string is
          // same as of English alphabets by using ASCII
          // values and the fact that all lower case
          // alphabetic characters come together in same
          // order in ASCII table. And same is true for
          // upper case.
          if (
            i === str[i].charCodeAt(0) - "a".charCodeAt(0) ||
            i === str[i].charCodeAt(0) - "A".charCodeAt(0)
          )
            result++;
 
        return result;
      }
 
      // Driver code
      var str = "AbgdeF";
      document.write(findCount(str));
    </script>


Output

5

Time Complexity: O(N), where N is the length of string.
Auxiliary Space: O(1).

This article is contributed by Sahil Chhabra. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks. 


My Personal Notes arrow_drop_up
Like Article
Save Article
Related Articles

Start Your Coding Journey Now!