In this HackerRank Digit Frequency in c programming problem solution you have Given a string, S, consisting of alphabets and digits, find the frequency of each digit in the given string.
HackerRank Digit frequency problem solution in c programming.
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
int main() {
int* nums = (int*) malloc(10 * sizeof(int));
char c;
for(int i = 0; i < 10; i++)
*(nums+i) = 0;
while(scanf("%c", &c) == 1)
if(c >= '0' && c <= '9')
(*(nums+(c-'0')))++;
for(int i = 0; i < 10; i++)
printf("%d ", *(nums+i));
return EXIT_SUCCESS;
}
Second solution
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char *s;
s = malloc(1024 * sizeof(char));
scanf("%s", s);
s = realloc(s, strlen(s) + 1);
int len = strlen(s), i;
int arr[10];
for(i = 0; i < 10; i++)
arr[i] = 0;
for(i = 0; i < len; i++) {
if(s[i] >= '0' && s[i] <= '9') {
arr[(int)(s[i] - '0')]++;
}
}
for(i = 0; i < 10; i++)
printf("%d ", arr[i]);
printf("\n");
free(s);
return 0;
}
0 Comments