Print the string by ignoring alternate occurrences of any character
Given a string of both uppercase and lowercase alphabets, the task is to print the string with alternate occurrences of any character dropped(including space and consider upper and lowercase as same).
Examples:
Input : It is a long day Dear. Output : It sa longdy ear. Print first I and then ignore next i. Similarly print first space then ignore next space. Input : Beginner for Beginner Output : Geks fore
Asked in: Microsoft
As we have to print characters in an alternate manner, so start traversing the string and perform following two steps:-
- Increment the count of occurrence of current character in a hash table.
- Check if the count becomes odd, then print the current character, else not.
Implementation:
C++
// C++ program to print the string in given pattern #include <bits/stdc++.h> using namespace std; // Function to print the string void printStringAlternate(string str) { unordered_map< char , int > occ; // Start traversing the string for ( int i = 0; i < str.length(); i++) { // Convert uppercase to lowercase char temp = tolower (str[i]); // Increment occurrence count occ[temp]++; // If count is odd then print the character if (occ[temp] & 1) cout << str[i]; } cout << endl; } // Drivers code int main() { string str = "Beginner for Beginner" ; string str2 = "It is a long day Dear" ; printStringAlternate(str); printStringAlternate(str2); return 0; } |
Java
// Java program to print the string in given pattern import java.io.*; class GFG { // Function to print the string static void printStringAlternate(String str) { int [] occ = new int [ 122 ]; // Convert uppercase to lowercase String s = str.toLowerCase(); // Start traversing the string for ( int i = 0 ; i < str.length(); i++) { char temp = s.charAt(i); // Increment occurrence count occ[temp]++; // If count is odd then print the character if (occ[temp]% 2 != 0 ) System.out.print(str.charAt(i)); } System.out.println(); } // driver program public static void main (String[] args) { String str1 = "Beginner for Beginner" ; String str2 = "It is a long day Dear" ; printStringAlternate(str1); printStringAlternate(str2); } } // Contributed by Pramod Kumar |
Python3
# Python3 program to print the string # in given pattern # Function to print the string def printStringAlternate(string): occ = {} # Start traversing the string for i in range ( 0 , len (string)): # Convert uppercase to lowercase temp = string[i].lower() # Increment occurrence count occ[temp] = occ.get(temp, 0 ) + 1 # If count is odd then print the character if occ[temp] & 1 : print (string[i], end = "") print () # Driver code if __name__ = = "__main__" : string = "Beginner for Beginner" string2 = "It is a long day Dear" printStringAlternate(string) printStringAlternate(string2) # This code is contributed by Rituraj Jain |
C#
// C# program to print the // string in given pattern using System; public class GFG { // Function to print the string static void printStringAlternate(String str) { int [] occ = new int [122]; // Convert uppercase to lowercase string s = str.ToLower(); // Start traversing the string for ( int i = 0; i < str.Length; i++) { char temp = s[i]; // Increment occurrence count occ[temp]++; // If count is odd then print // the character if (occ[temp] % 2 != 0) Console.Write(str[i]); } Console.WriteLine(); } // Driver Code public static void Main () { string str1 = "Beginner for Beginner" ; string str2 = "It is a long day Dear" ; printStringAlternate(str1); printStringAlternate(str2); } } // This code is contributed by Sam007. |
PHP
<?php // PHP program to print the string // in given pattern // Function to print the string function printStringAlternate( $str ) { $occ = array (); // Convert uppercase to lowercase $s = strtolower ( $str ); // Start traversing the string for ( $i = 0; $i < strlen ( $str ); $i ++) { $temp = $s [ $i ]; // Increment occurrence count $occ [( $temp )]++; // If count is odd // then print the character if ( $occ [ $temp ] % 2 != 0) echo ( $str [ $i ]); } echo "\n" ; } // Driver Code $str1 = "Beginner for Beginner" ; $str2 = "It is a long day Dear" ; printStringAlternate( $str1 ); printStringAlternate( $str2 ); // This code is contributed by Code_Mech. ?> |
Javascript
<script> // JavaScript program to print the // string in given pattern // Function to print the string function printStringAlternate(str) { let occ = new Array(122); occ.fill(0); // Convert uppercase to lowercase let s = str.toLowerCase(); // Start traversing the string for (let i = 0; i < str.length; i++) { let temp = s[i]; // Increment occurrence count occ[temp.charCodeAt()]++; // If count is odd then print // the character if (occ[temp.charCodeAt()] % 2 != 0) document.write(str[i]); } document.write( "</br>" ); } let str1 = "Beginner for Beginner" ; let str2 = "It is a long day Dear" ; printStringAlternate(str1); printStringAlternate(str2); </script> |
Output
Geks fore It sa longdy ear
Time complexity : O(n)
Auxiliary Space : O(n)
Contact Us