Count occurrences of a character in a repeated string - GeeksforGeeks

23 Aug, 2021
Given an integer N and a lowercase string. The string is repeated infinitely. The task is to find the No. of occurrences of a given character x in first N letters.Examples:  
Input : N = 10 str = "abcac"
Output : 4
Explanation: "abcacabcac" is the substring from the infinitely repeated string. In first 10 letters 'a' occurs 4  times.
          
Input: N = 10, str = "aba"
Output : 7
 
Approach: 1. Find the occurrences of character ‘a’ in the given string. 2. Find the No. of repetitions which are required to find the ‘a’ occurrences. 3. Multiply the single string occurrences to the No. of repetitions. 4. If given n is not the multiple of given string size then we will find the ‘a’ occurrences in the remaining substring.Below is the implementation of above approach: 
C++
Java
Python3
C#
PHP
Javascript
// CPP program to find the occurrences of// character x in the infinite repeated string// upto length n#include <bits/stdc++.h>using namespace std; // Function to count the character 'a'int countChar(string str, char x){    int count = 0, n = 10;    for (int i = 0; i < str.size(); i++)        if (str[i] == x)            count++;     // atleast k repetition are required    int repetitions = n / str.size();    count = count * repetitions;     // if n is not the multiple of the string size    // check for the remaining repeating character.    for (int i = 0; i < n % str.size(); i++) {        if (str[i] == x)            count++;    }     return count;} // Driver codeint main(){    string str = "abcac";    cout << countChar(str, 'a');    return 0;} // This code is contributed by Surendra_Gangwar
// Java program to find the occurrences// of character x in the infinite// repeated string upto length nimport java.util.*;import java.lang.*; class GFG{// Function to count the character 'a'static int countChar(String str, char x){    int count = 0;    int n = 10;    for (int i = 0; i < str.length(); i++)        if (str.charAt(i) == x)            count++;     // atleast k repetition are required    int repetitions = n / str.length();    count = count * repetitions;     // if n is not the multiple of the    // string size check for the remaining    // repeating character.    for (int i = 0;            i < n % str.length(); i++)    {        if (str.charAt(i) == x)            count++;    }     return count;} // Driver codepublic static void main(String args[]){    String str = "abcac";    System.out.println(countChar(str, 'a'));}} // This code is contributed// by Akanksha Rai
# Python3 program to find the occurrences of# character x in the infinite repeated string# upto length n # Function to count the character 'a'def countChar(str, x):    count = 0    for i in range(len(str)):        if (str[i] == x) :            count += 1    n = 10         # atleast k repetition are required    repetitions = n // len(str)    count = count * repetitions     # if n is not the multiple of the    # string size check for the remaining    # repeating character.    l = n % len(str)    for i in range(l):        if (str[i] == x):            count += 1    return count # Driver codestr = "abcac"print(countChar(str, 'a')) # This code is contributed# by sahishelangia
// C# program to find the occurrences// of character x in the infinite// repeated string upto length nusing System; class GFG{// Function to count the character 'a'static int countChar(string str, char x){    int count = 0;    int n = 10;    for (int i = 0; i < str.Length; i++)        if (str[i] == x)            count++;     // atleast k repetition are required    int repetitions = n / str.Length;    count = count * repetitions;     // if n is not the multiple of the    // string size check for the remaining    // repeating character.    for (int i = 0;             i < n % str.Length; i++)    {        if (str[i] == x)            count++;    }     return count;} // Driver codepublic static void Main(){    string str = "abcac";    Console.WriteLine(countChar(str, 'a'));}} // This code is contributed// by Akanksha Rai
<?php// PHP program to find the occurrences// of character x in the infinite// repeated string upto length n // Function to count the character 'a'function countChar($str, $x){    $count = 0;    $n = 10;    for ($i = 0; $i < strlen($str); $i++)        if ($str[$i] == $x)            $count++;     // atleast k repetition are required    $repetitions = (int)($n / strlen($str));    $count = $count * $repetitions;     // if n is not the multiple of    // the string size check for the    // remaining repeating character.    for ($i = 0; $i < $n % strlen($str); $i++)    {        if ($str[$i] == $x)            $count++;    }     return $count;} // Driver code$str = "abcac";echo countChar($str, 'a'); // This code is contributed by Sachin?>
<script>     // JavaScript program to find the occurrences    // of character x in the infinite    // repeated string upto length n         // Function to count the character 'a'    function countChar(str, x)    {        let count = 0;        let n = 10;        for (let i = 0; i < str.length; i++)            if (str[i] == x)                count++;         // atleast k repetition are required        let repetitions = n / str.length;        count = count * repetitions;         // if n is not the multiple of the        // string size check for the remaining        // repeating character.        for (let i = 0; i < n % str.length; i++)        {            if (str[i] == x)                count++;        }         return count;    }         let str = "abcac";    document.write(countChar(str, 'a'));     </script>
Output:  
4
 
Sach_Code
Akanksha_Rai
sahilshelangia
gp6
rameshtravel07
clintra
saurabh1990aror
Strings
Strings
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Top 50 String Coding Problems for Interviews
Print all the duplicates in the input string
Vigenère Cipher
String class in Java | Set 1
sprintf() in C
Print all subsequences of a string
Convert character array to string in C++
How to Append a Character to a String in C
Program to count occurrence of a given character in a string
Naive algorithm for Pattern Searching