Skip to main content

Remove characters from a string that appears exactly K times

Here given code implementation process.

/*
    Java Program for
    Remove characters from a string that appears exactly K times
*/
public class RemoveCharacters
{
    public void removeKOccurrences(String text, int k)
    {
        // Get the length
        int n = text.length();
        if (n == 0 || k <= 0)
        {
            return;
        }
        String result = "";
        // Use to count character frequency
        int[] count = new int[256];
        for (int i = 0; i < 256; ++i)
        {
            // Set initial values
            count[i] = 0;
        }
        // Count character frequency
        for (int i = 0; i < n; ++i)
        {
            count[text.charAt(i)]++;
        }
        for (int i = 0; i < n; ++i)
        {
            if (count[text.charAt(i)] != k)
            {
                // Include the resultant character
                result = result + text.charAt(i);
            }
        }
        // Display given text
        System.out.println(" Given text : " + text);
        System.out.println(" Given k  : " + k);
        // Display result
        System.out.println(" Result     : " + result);
    }
    public static void main(String[] args)
    {
        RemoveCharacters task = new RemoveCharacters();
        // Test
        // k = 3
        task.removeKOccurrences("movecodeerror", 3);
        // k = 4
        task.removeKOccurrences("demoipkeyaddressdream", 4);
    }
}

Output

 Given text : movecodeerror
 Given k  : 3
 Result     : mvcd
 Given text : demoipkeyaddressdream
 Given k  : 4
 Result     : moipkyarssram
// Include header file
#include <iostream>
#include <string>

using namespace std;
/*
    C++ Program for
    Remove characters from a string that appears exactly K times
*/
class RemoveCharacters
{
    public: void removeKOccurrences(string text, int k)
    {
        // Get the length
        int n = text.length();
        if (n == 0 || k <= 0)
        {
            return;
        }
        string result = "";
        // Use to count character frequency
        int count[256];
        for (int i = 0; i < 256; ++i)
        {
            // Set initial values
            count[i] = 0;
        }
        // Count character frequency
        for (int i = 0; i < n; ++i)
        {
            count[text[i]]++;
        }
        for (int i = 0; i < n; ++i)
        {
            if (count[text[i]] != k)
            {
                // Include the resultant character
                result = result  +  (text[i]);
            }
        }
        // Display given text
        cout << " Given text : " << text << endl;
        cout << " Given k  : " << k << endl;
        // Display result
        cout << " Result     : " << result << endl;
    }
};
int main()
{
    RemoveCharacters *task = new RemoveCharacters();
    // Test
    // k = 3
    task->removeKOccurrences("movecodeerror", 3);
    // k = 4
    task->removeKOccurrences("demoipkeyaddressdream", 4);
    return 0;
}

Output

 Given text : movecodeerror
 Given k  : 3
 Result     : mvcd
 Given text : demoipkeyaddressdream
 Given k  : 4
 Result     : moipkyarssram
package main
import "fmt"
/*
    Go Program for
    Remove characters from a string that appears exactly K times
*/
type RemoveCharacters struct {}
func getRemoveCharacters() * RemoveCharacters {
    var me *RemoveCharacters = &RemoveCharacters {}
    return me
}
func(this RemoveCharacters) removeKOccurrences(
    text string, k int) {
    // Get the length
    var n int = len(text)
    if n == 0 || k <= 0 {
        return
    }
    var result string = ""
    // Use to count character frequency
    var count = make([] int, 256)
    for i := 0 ; i < 256 ; i++ {
        // Set initial values
        count[i] = 0
    }
    // Count character frequency
    for i := 0 ; i < n ; i++ {
        count[int(text[i])]++
    }
    for i := 0 ; i < n ; i++ {
        if count[int(text[i])] != k {
            // Include the resultant character
            result = result + string(text[i])
        }
    }
    // Display given text
    fmt.Println(" Given text : ", text)
    fmt.Println(" Given k  : ", k)
    // Display result
    fmt.Println(" Result     : ", result)
}
func main() {
    var task * RemoveCharacters = getRemoveCharacters()
    // Test
    // k = 3
    task.removeKOccurrences("movecodeerror", 3)
    // k = 4
    task.removeKOccurrences("demoipkeyaddressdream", 4)
}

Output

 Given text : movecodeerror
 Given k  : 3
 Result     : mvcd
 Given text : demoipkeyaddressdream
 Given k  : 4
 Result     : moipkyarssram
// Include namespace system
using System;
/*
    Csharp Program for
    Remove characters from a string that appears exactly K times
*/
public class RemoveCharacters
{
    public void removeKOccurrences(String text, int k)
    {
        // Get the length
        int n = text.Length;
        if (n == 0 || k <= 0)
        {
            return;
        }
        String result = "";
        // Use to count character frequency
        int[] count = new int[256];
        for (int i = 0; i < 256; ++i)
        {
            // Set initial values
            count[i] = 0;
        }
        // Count character frequency
        for (int i = 0; i < n; ++i)
        {
            count[text[i]]++;
        }
        for (int i = 0; i < n; ++i)
        {
            if (count[text[i]] != k)
            {
                // Include the resultant character
                result = result + text[i];
            }
        }
        // Display given text
        Console.WriteLine(" Given text : " + text);
        Console.WriteLine(" Given k  : " + k);
        // Display result
        Console.WriteLine(" Result     : " + result);
    }
    public static void Main(String[] args)
    {
        RemoveCharacters task = new RemoveCharacters();
        // Test
        // k = 3
        task.removeKOccurrences("movecodeerror", 3);
        // k = 4
        task.removeKOccurrences("demoipkeyaddressdream", 4);
    }
}

Output

 Given text : movecodeerror
 Given k  : 3
 Result     : mvcd
 Given text : demoipkeyaddressdream
 Given k  : 4
 Result     : moipkyarssram
<?php
/*
    Php Program for
    Remove characters from a string that appears exactly K times
*/
class RemoveCharacters
{
    public  function removeKOccurrences($text, $k)
    {
        // Get the length
        $n = strlen($text);
        if ($n == 0 || $k <= 0)
        {
            return;
        }
        $result = "";
        // Use to count character frequency
        $count = array_fill(0, 256, 0);
        // Count character frequency
        for ($i = 0; $i < $n; ++$i)
        {
            $count[ord($text[$i])]++;
        }
        for ($i = 0; $i < $n; ++$i)
        {
            if ($count[ord($text[$i])] != $k)
            {
                // Include the resultant character
                $result = $result.strval($text[$i]);
            }
        }
        // Display given text
        echo(" Given text : ".$text.
            "\n");
        echo(" Given k  : ".$k.
            "\n");
        // Display result
        echo(" Result     : ".$result.
            "\n");
    }
}

function main()
{
    $task = new RemoveCharacters();
    // Test
    // k = 3
    $task->removeKOccurrences("movecodeerror", 3);
    // k = 4
    $task->removeKOccurrences("demoipkeyaddressdream", 4);
}
main();

Output

 Given text : movecodeerror
 Given k  : 3
 Result     : mvcd
 Given text : demoipkeyaddressdream
 Given k  : 4
 Result     : moipkyarssram
/*
    Node JS Program for
    Remove characters from a string that appears exactly K times
*/
class RemoveCharacters
{
    removeKOccurrences(text, k)
    {
        // Get the length
        var n = text.length;
        if (n == 0 || k <= 0)
        {
            return;
        }
        var result = "";
        // Use to count character frequency
        var count = Array(256).fill(0);
        // Count character frequency
        for (var i = 0; i < n; ++i)
        {
            count[text.charAt(i).charCodeAt(0)]++;
        }
        for (var i = 0; i < n; ++i)
        {
            if (count[text.charAt(i).charCodeAt(0)] != k)
            {
                // Include the resultant character
                result = result + text.charAt(i);
            }
        }
        // Display given text
        console.log(" Given text : " + text);
        console.log(" Given k  : " + k);
        // Display result
        console.log(" Result     : " + result);
    }
}

function main()
{
    var task = new RemoveCharacters();
    // Test
    // k = 3
    task.removeKOccurrences("movecodeerror", 3);
    // k = 4
    task.removeKOccurrences("demoipkeyaddressdream", 4);
}
main();

Output

 Given text : movecodeerror
 Given k  : 3
 Result     : mvcd
 Given text : demoipkeyaddressdream
 Given k  : 4
 Result     : moipkyarssram
#    Python 3 Program for
#    Remove characters from a string that appears exactly K times
class RemoveCharacters :
    def removeKOccurrences(self, text, k) :
        #  Get the length
        n = len(text)
        if (n == 0 or k <= 0) :
            return
        
        result = ""
        #  Use to count character frequency
        count = [0] * (256)
        i = 0
        #  Count character frequency
        while (i < n) :
            count[ord(text[i])] += 1
            i += 1
        
        i = 0
        while (i < n) :
            if (count[ord(text[i])] != k) :
                #  Include the resultant character
                result = result + str(text[i])
            
            i += 1
        
        #  Display given text
        print(" Given text : ", text)
        print(" Given k  : ", k)
        #  Display result
        print(" Result     : ", result)
    

def main() :
    task = RemoveCharacters()
    #  Test
    #  k = 3
    task.removeKOccurrences("movecodeerror", 3)
    #  k = 4
    task.removeKOccurrences("demoipkeyaddressdream", 4)

if __name__ == "__main__": main()

Output

 Given text :  movecodeerror
 Given k  :  3
 Result     :  mvcd
 Given text :  demoipkeyaddressdream
 Given k  :  4
 Result     :  moipkyarssram
#    Ruby Program for
#    Remove characters from a string that appears exactly K times
class RemoveCharacters 
    def removeKOccurrences(text, k) 
        #  Get the length
        n = text.length
        if (n == 0 || k <= 0) 
            return
        end

        result = ""
        #  Use to count character frequency
        count = Array.new(256) {0}
        i = 0
        #  Count character frequency
        while (i < n) 
            count[text[i].ord] += 1
            i += 1
        end

        i = 0
        while (i < n) 
            if (count[text[i].ord] != k) 
                #  Include the resultant character
                result = result + text[i].to_s
            end

            i += 1
        end

        #  Display given text
        print(" Given text : ", text, "\n")
        print(" Given k  : ", k, "\n")
        #  Display result
        print(" Result     : ", result, "\n")
    end

end

def main() 
    task = RemoveCharacters.new()
    #  Test
    #  k = 3
    task.removeKOccurrences("movecodeerror", 3)
    #  k = 4
    task.removeKOccurrences("demoipkeyaddressdream", 4)
end

main()

Output

 Given text : movecodeerror
 Given k  : 3
 Result     : mvcd
 Given text : demoipkeyaddressdream
 Given k  : 4
 Result     : moipkyarssram
import scala.collection.mutable._;
/*
    Scala Program for
    Remove characters from a string that appears exactly K times
*/
class RemoveCharacters()
{
    def removeKOccurrences(text: String, k: Int): Unit = {
        // Get the length
        var n: Int = text.length();
        if (n == 0 || k <= 0)
        {
            return;
        }
        var result: String = "";
        // Use to count character frequency
        var count: Array[Int] = Array.fill[Int](256)(0);
        var i: Int = 0;
        // Count character frequency
        while (i < n)
        {
            count(text.charAt(i)) += 1;
            i += 1;
        }
        i = 0;
        while (i < n)
        {
            if (count(text.charAt(i)) != k)
            {
                // Include the resultant character
                result = result + text.charAt(i).toString();
            }
            i += 1;
        }
        // Display given text
        println(" Given text : " + text);
        println(" Given k  : " + k);
        // Display result
        println(" Result     : " + result);
    }
}
object Main
{
    def main(args: Array[String]): Unit = {
        var task: RemoveCharacters = new RemoveCharacters();
        // Test
        // k = 3
        task.removeKOccurrences("movecodeerror", 3);
        // k = 4
        task.removeKOccurrences("demoipkeyaddressdream", 4);
    }
}

Output

 Given text : movecodeerror
 Given k  : 3
 Result     : mvcd
 Given text : demoipkeyaddressdream
 Given k  : 4
 Result     : moipkyarssram
import Foundation;
/*
    Swift 4 Program for
    Remove characters from a string that appears exactly K times
*/
class RemoveCharacters
{
    func removeKOccurrences(_ data: String, _ k: Int)
    {
        let text = Array(data);
        // Get the length
        let n: Int = text.count;
        if (n == 0 || k <= 0)
        {
            return;
        }
        var result: String = "";
        // Use to count character frequency
        var count: [Int] = Array(repeating: 0, count: 256);
        var i: Int = 0;
        // Count character frequency
        while (i < n)
        {
            count[Int(UnicodeScalar(String(text[i]))!.value)] += 1;
            i += 1;
        }
        i = 0;
        while (i < n)
        {
            if (count[Int(UnicodeScalar(String(text[i]))!.value)]  != k)
            {
                // Include the resultant character
                result = result + String(text[i]);
            }
            i += 1;
        }
        // Display given text
        print(" Given text : ", data);
        print(" Given k  : ", k);
        // Display result
        print(" Result     : ", result);
    }
}
func main()
{
    let task: RemoveCharacters = RemoveCharacters();
    // Test
    // k = 3
    task.removeKOccurrences("movecodeerror", 3);
    // k = 4
    task.removeKOccurrences("demoipkeyaddressdream", 4);
}
main();

Output

 Given text :  movecodeerror
 Given k  :  3
 Result     :  mvcd
 Given text :  demoipkeyaddressdream
 Given k  :  4
 Result     :  moipkyarssram
/*
    Kotlin Program for
    Remove characters from a string that appears exactly K times
*/
class RemoveCharacters
{
    fun removeKOccurrences(text: String, k: Int): Unit
    {
        // Get the length
        val n: Int = text.length;
        if (n == 0 || k <= 0)
        {
            return;
        }
        var result: String = "";
        // Use to count character frequency
        var count: Array < Int > = Array(256)
        {
            0
        };
        var i: Int = 0;
        // Count character frequency
        while (i < n)
        {
            count[text.get(i).toInt()] += 1;
            i += 1;
        }
        i = 0;
        while (i < n)
        {
            if (count[text.get(i).toInt()] != k)
            {
                // Include the resultant character
                result = result + text.get(i).toString();
            }
            i += 1;
        }
        // Display given text
        println(" Given text : " + text);
        println(" Given k  : " + k);
        // Display result
        println(" Result     : " + result);
    }
}
fun main(args: Array < String > ): Unit
{
    val task: RemoveCharacters = RemoveCharacters();
    // Test
    // k = 3
    task.removeKOccurrences("movecodeerror", 3);
    // k = 4
    task.removeKOccurrences("demoipkeyaddressdream", 4);
}

Output

 Given text : movecodeerror
 Given k  : 3
 Result     : mvcd
 Given text : demoipkeyaddressdream
 Given k  : 4
 Result     : moipkyarssram




Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.

New Comment







KalkicodeTeam     582 Day ago
Algorithm are work perfectly, Here k indicates group of exactly k characters. And 5th and 7th case are valid please check again.
Example
Input "aaabaaa"  k = 3   
Output => "b"
Sheshadrivendra m     598 Day ago
using only swift code
Sheshadrivendra m     598 Day ago
i used this program to verify all my below cases but out of these 5th and 7th was unable to verify so please help me and provide the code or solution which can verify all the below cases.

Test Cases:

1.  "aaabbbc", 3 => "c"
2.  "abbbcddfg", 1 => "bbbdd"
3.  "abcd", 2 => "abcd"
4.  "abcd", 1 => ""
5.  "aaabaaa", 3 => "b"
6.  "aaaab", 3 => "aaaab"
7.  "bbbaabb", 3 => aabb