In this article, we are given a string, our task is to find the occurrence of a character in the string with the help of a user-defined function.
Example: Input : "hello" Output : h occur 1 times e occur 1 times l occur 2 times o occur 1 times Explanation : here "hello" have 1 h, so it have 1 value. as same e have 1, l have 2 , o have 1. Example 2: Input : "did" Output: d occur 2 times i occur 1 times
Approach 1: In this approach, we use a map data structure to store the number of times characters occur.
- First, we initialize the map with a key for each character of the string, and the value for each is 0.
- We iterate over the string and increment the value of the character.
- Finally, print key-values of the map.
Example: This example shows the use of the above-explained approach.
Javascript
<script> //function to print occurrence of character function printans( ans ) { for ( let [ key ,value] of ans) { // if() console.log(`${key} occurs ${value} times` ); } } // function count occurrence of character function count( str , outp_map ) { for ( let i = 0 ;i < str.length ;i++) { let k = outp_map.get(str[i]); outp_map.set(str[i], k+1) ; } //calling print function printans(outp_map); } //function create map to count character function count_occurs( test , callback ) { //checking string is valid or not if ( test.length === 0 ) { console.log( " empty string " ); return ; } else { // map for storing count values let ans = new Map(); for ( let i = 0 ;i < test.length;i++) { ans.set(test[i], 0); } callback( test ,ans); } } // test string let test = "helloworld" ; count_occurs( test ,count); </script> |
Output:
h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times
Approach 2: In this approach, we use nested for loop to iterate over the string and count for each character in the string.
- First, initialize count with value 0 for the ith value of the string.
- Now we iterate over the string if ith value matches with the character, increasing the count value by 1.
- Finally, print the value of the count.
Example: This example shows the use of the above-explained approach.
Javascript
<script> // function that count character occurrences in string function count_occur( str ) { // checking string is valid or not if ( str.length == 0 ) { console.log( "Invalid string" ) return ; } //cor loop to iterate over string for ( let i = 0 ;i < str.length ;i++) { //variable counting occurrence let count = 0; for ( let j = 0 ;j < str.length ;j++) { if ( str[i] == str[j] && i > j ) { break ; } if ( str[i] == str[j] ) { count++; } } if ( count > 0) console.log(`${str[i]} occurs ${count} times`); } } // test string let test_str = "gfghello" ; count_occur( test_str); </script> |
Output:
g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times