Open In App

Print the string by ignoring alternate occurrences of any character

Improve
Improve
Like Article
Like
Save
Share
Report

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 : Geeks for geeks
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 = "Geeks for geeks";
    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 = "Geeks for geeks";
        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 = "Geeks for geeks"
    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 = "Geeks for geeks";
        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 = "Geeks for geeks";
$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 = "Geeks for geeks";
    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)

 



Last Updated : 15 Sep, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads