একটি স্ট্রিং দেওয়া থাকলে যাতে অক্ষর ও ডিজিট উভয়ই আছে, সেটিতে ০ থেকে ৯ পর্যন্ত প্রতিটি ডিজিট কতবার আছে তা গণনা করে দেখাতে হবে।
উদাহরণ
ইনপুট: "we85abc586wow236h69"
আউটপুট:
(Number 2, Freq 1)
(Number 3, Freq 1)
(Number 5, Freq 2)
(Number 6, Freq 3)
(Number 8, Freq 2)
(Number 9, Freq 1)
এলগরিদম
- সাইজ ১০ এর একটি
freqঅ্যারে ০ দিয়ে ইনিশিয়ালাইজ করুন। - স্ট্রিং-এর প্রতিটি ক্যারেক্টার চেক করুন: যদি
'0'থেকে'9'এর মধ্যে হয়, তবেfreq[ch - '0']++করুন। - অन्तে ০ থেকে ৯ পর্যন্ত লুপ চালিয়ে যেসব ডিজিটের ফ্রিকোয়েন্সি > ০, সেগুলো প্রিন্ট করুন।
C কোড উদাহরণ
#include <stdio.h>
#include <string.h>
void solve(char *s) {
int freq[10] = {0};
for (int i = 0; i < strlen(s); i++) {
if (s[i] >= '0' && s[i] <= '9')
freq[s[i] - '0']++;
}
for (int i = 0; i < 10; i++)
if (freq[i] > 0)
printf("(Number %d, Freq %d)\n", i, freq[i]);
}
int main() {
char *s = "we85abc586wow236h69";
solve(s);
return 0;
}
ইনপুট ও আউটপুট
ইনপুট: "we85abc586wow236h69"
আউটপুট: উপরের ফ্রিকোয়েন্সি লিস্ট।