There is a string,s, of lowercase English letters that is repeated infinitely many times. Given an integer,n , find and print the number of letter a’s in the first n letters of the infinite string.
Example
s=’abcac’
n=10
The substring we consider is abcacabcac, the first 10 characters of the infinite string. There are 4 occurrences of a in the substring.
Function Description
Complete the repeatedString function in the editor below.
repeatedString has the following parameter(s):
- s: a string to repeat
- n: the number of characters to consider
Returns
- int: the frequency of a in the substring
Input Format
The first line contains a single string,s .
The second line contains an integer,n .
Constraints
- 1<=s<=100
- 1<=n<=10^12
- For 25% of the test cases,n<=10^6 .
Sample Input
Sample Input 0
aba 10
Sample Output 0
7
Explanation 0
The first n=10 letters of the infinite string are abaabaabaa. Because there are 7 a’s, we return 7.
Sample Input 1
a 1000000000000
Sample Output 1
1000000000000
Repeated String HackerRank Solution in C
#include <math.h> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <assert.h> #include <limits.h> #include <stdbool.h> int main(){ char* s = (char *)malloc(512000 * sizeof(char)); scanf("%s",s); long n,o,p,i; scanf("%ld",&n); o=0; for(i=0;s[i]!='\0';i++) { if(s[i]=='a') o++; } p=n%i; n=n/i; o=o*n; n=0; for(i=0;i<p;i++) if(s[i]=='a') n++; printf("%ld",o+n); return 0; }
Repeated String HackerRank Solution in C++
#include <map> #include <set> #include <list> #include <cmath> #include <ctime> #include <deque> #include <queue> #include <stack> #include <string> #include <bitset> #include <cstdio> #include <limits> #include <vector> #include <climits> #include <cstring> #include <cstdlib> #include <fstream> #include <numeric> #include <sstream> #include <iostream> #include <algorithm> #include <unordered_map> using namespace std; int main(){ string s; cin >> s; long long n; cin >> n; long long count=0; for (int i=0;i<s.size();i++) if (s[i]=='a') count++; count*=n/s.size(); for (int i=0;i<n%s.size();i++) if (s[i]=='a') count++; cout << count << endl; return 0; }
Repeated String HackerRank Solution in Java
import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { public static void main(String[] args) { Scanner in = new Scanner(System.in); String s = in.next(); long n = in.nextLong(); long num = n/s.length(); long rem = n%s.length(); long ans = 0; for (int i = 0; i < s.length(); i++) { if (s.charAt(i)=='a') { ans += num; if (i < rem) ans++; } } System.out.println(ans); } }
Repeated String HackerRank Solution in Python
#!/bin/python import sys s = raw_input().strip() n = long(raw_input().strip()) k = s.count("a")*(n/len(s)) k += s[:n%len(s)].count("a") print k
Repeated String HackerRank Solution in C#
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace RepeatedString { class Program { static void Main(String[] args) { string s = Console.ReadLine(); long n = Convert.ToInt64(Console.ReadLine()); var inSingle = s.Count(x => x == 'a'); var full = n / s.Length; var rest = n % s.Length; var inRest = s.Substring(0, (int)rest).Count(x => x == 'a'); var result = (inSingle * full) + inRest; Console.WriteLine(result); } } }
Attempt Repeated String HackerRank Challenge
Link – https://www.hackerrank.com/challenges/repeated-string/
Next HackerRank Challenge Solution
Link – https://exploringbits.com/jumping-on-the-clouds-hackerrank-solution/
Aayush Kumar Gupta is the founder and creator of ExploringBits, a website dedicated to providing useful content for people passionate about Engineering and Technology. Aayush has completed his Bachelor of Technology (Computer Science & Engineering) from 2018-2022. From July 2022, Aayush has been working as a full-time Devops Engineer.