Open In App

Find words which are greater than given length k

Last Updated : 15 Dec, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report

A string is given, and you have to find all the words (substrings separated by a space) which are greater than the given length k.

Examples:

Input : str = "hello geeks for geeks 
is computer science portal"
k = 4
Output : hello geeks geeks computer
science portal
Explanation : The output is list of all
words that are of length more than k.
Input : str = "string is fun in python"
k = 3
Output : string python

The idea is to first split the given string around space. Then traverse through all words. For every word, check

C++
// C++ program to find all string
// which are greater than given length k

#include <bits/stdc++.h>
using namespace std;

// function find string greater than
// length k
void string_k(string s, int k)
{
    // create an empty string
    string w = "";
    // iterate the loop till every space
    for (int i = 0; i < s.size(); i++) {
        if (s[i] != ' ')

            // append this sub string in
            // string w
            w = w + s[i];
        else {

            // if length of current sub
            // string w is greater than
            // k then print
            if (w.size() > k)
                cout << w << " ";
            w = "";
        }
    }
}

// Driver code
int main()
{
    string s = "geek for geeks";
    int k = 3;
    s = s + " ";
    string_k(s, k);
    return 0;
}

// This code is contributed by
// Manish Shaw (manishshaw1)
Java
// Java program to find all string
// which are greater than given length k

import java.io.*;
import java.util.*;

public class GFG {

    // function find string greater than
    // length k
    static void string_k(String s, int k)
    {
        // create the empty string
        String w = "";

        // iterate the loop till every space
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) != ' ')

                // append this sub string in
                // string w
                w = w + s.charAt(i);
            else {

                // if length of current sub
                // string w is greater than
                // k then print
                if (w.length() > k)
                    System.out.print(w + " ");
                w = "";
            }
        }
    }

    // Driver code
    public static void main(String args[])
    {
        String s = "geek for geeks";
        int k = 3;
        s = s + " ";
        string_k(s, k);
    }
}

// This code is contributed by
// Manish Shaw (manishshaw1)
Python
# Python program to find all string
# which are greater than given length k

# function find string greater than length k


def string_k(k, str):

    # create the empty string
    string = []

    # split the string where space is comes
    text = str.split(" ")

    # iterate the loop till every substring
    for x in text:

        # if length of current sub string
        # is greater than k then
        if len(x) > k:

            # append this sub string in
            # string list
            string.append(x)

     # return string list
    return string


# Driver Program
k = 3
str = "geek for geeks"
print(string_k(k, str))
C#
// C# program to find all string
// which are greater than given length k

using System;

class GFG {

    // function find string greater than
    // length k
    static void string_k(string s, int k)
    {
        // create the empty string
        string w = "";

        // iterate the loop till every space
        for (int i = 0; i < s.Length; i++) {
            if (s[i] != ' ')

                // append this sub string in
                // string w
                w = w + s[i];
            else {

                // if length of current sub
                // string w is greater than
                // k then print
                if (w.Length > k)
                    Console.Write(w + " ");
                w = "";
            }
        }
    }

    // Driver code
    static void Main()
    {
        string s = "geek for geeks";
        int k = 3;
        s = s + " ";
        string_k(s, k);
    }
}

// This code is contributed by
// Manish Shaw (manishshaw1)
JavaScript
<script>
// javascript program to find all string 
// which are greater than given length k

    // function find string greater than
    // length k
    function string_k( s , k) {
        // create the empty string
        var w = "";

        // iterate the loop till every space
        for (i = 0; i < s.length; i++) {
            if (s.charAt(i) != ' ')

                // append this sub string in
                // string w
                w = w + s.charAt(i);
            else {

                // if length of current sub
                // string w is greater than
                // k then print
                if (w.length > k)
                    document.write(w + " ");
                w = "";
            }
        }
    }

    // Driver code
    
        var s = "geek for geeks";
        var k = 3;
        s = s + " ";
        string_k(s, k);

// This code is contributed by todaysgaurav 
</script>
PHP
<?php
// PHP program to find all $
// which are greater than given length k

// function find string greater than
// length k
function string_k($s, $k)
{
    
    // create the empty string
    $w = "";
    
    // iterate the loop till every space
    for($i = 0; $i < strlen($s); $i++)
    {
        if($s[$i] != ' ')
        
            // append this sub $in $w
            $w = $w.$s[$i];
        else {
            
            // if length of current sub
            // $w is greater than
            // k then print
            if(strlen($w) > $k)
                echo ($w." ");
            $w = "";
        }
    }
}

// Driver code
$s = "geek for geeks";
$k = 3;
$s = $s . " ";
string_k($s, $k);

// This code is contributed by 
// Manish Shaw (manishshaw1)
?>

Output
geek geeks 

Time Complexity: O(n), where n is the length of the given string.
Auxiliary Space: O(n)

Method: Using list comprehension

C++
#include <iostream>
#include <sstream>
#include <string>
#include <vector>

using namespace std;

int main()
{
    string sentence = "hello geeks for geeks is computer "
                      "science portal";
    int length = 4;
    vector<string> words;
    stringstream ss(sentence);
    string word;

    while (ss >> word) {
        if (word.length() > length) {
            words.push_back(word);
        }
    }

    for (const auto& w : words) {
        cout << w << " ";
    }

    cout << endl;

    return 0;
}
Java
import java.util.Arrays;

public class Main {
    public static void main(String[] args)
    {
        String sentence
            = "hello geeks for geeks is computer science portal";
        int length = 4;
        String[] words
            = Arrays.stream(sentence.split(" "))
                  .filter(word -> word.length() > length)
                  .toArray(String[] ::new);

        System.out.println(Arrays.toString(words));
    }
}
Python3
sentence = "hello geeks for geeks is computer science portal"
length = 4
print([word for word in sentence.split() if len(word) > length])
C#
using System;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        string sentence = "hello geeks for geeks is computer science portal";
        int length = 4;
        var words = sentence.Split(' ').Where(word => word.Length > length).ToArray();

        Console.WriteLine("[" + string.Join(", ", words.Select(w => "'" + w + "'")) + "]");
    }
}
JavaScript
let sentence = "hello geeks for geeks is computer science portal";
let length = 4;
let words = sentence.split(" ").filter(word => word.length > length);
console.log(words);

// This code is contributed by codebraxnzt

Output
['hello', 'geeks', 'geeks', 'computer', 'science', 'portal']

Time Complexity: O(n), where n is the length of the given string.
Auxiliary Space: O(n)

Method: Using lambda function 

C++
// C++ program for the above approach
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
using namespace std;

// Function to find substring greater than K
void stringLengthGreaterThanK(string n, int l)
{
    vector<string> s;
    string word = "";

    // Traverse the given string n
    for (char c : n) {
        if (c == ' ') {
            if (word.length() > 0) {
                s.push_back(word);
                word = "";
            }
        }
        else {
            word += c;
        }
    }
    if (word.length() > 0) {
        s.push_back(word);
    }

    // Stores the resultant string
    vector<string> filtered;
    for (string word : s) {
        if (word.length() > l) {
            filtered.push_back(word);
        }
    }

    // Print the string
    for (string word : filtered) {
        cout << word << " ";
    }
}

// Driver Code
int main()
{
    string S = "hello geeks for geeks is computer science "
               "portal";
    int K = 4;
    stringLengthGreaterThanK(S, K);

    return 0;
}
Java
// Java program for the above approach

import java.util.*;

public class Main {

    // Driver Code
    public static void main(String[] args)
    {

        String S = "hello geeks for geeks is computer science portal";
        int K = 4;
        String[] s = S.split(" ");
        List<String> l = new ArrayList<>();

        for (String str : s) {
            if (str.length() > K) {
                l.add(str);
            }
        }

        System.out.println(l);
    }
}
Python3
# Python program for the above approach

# Driver Code
S = "hello geeks for geeks is computer science portal"
K = 4
s = S.split(" ")
l = list(filter(lambda x: (len(x) > K), s))

print(l)
C#
using System;
using System.Linq;
using System.Collections.Generic;

public class Program
{
    public static void Main()
    {
        string S = "hello geeks for geeks is computer science portal";
        int K = 4;
        string[] s = S.Split(' ');
        List<string> l = new List<string>();

        foreach(string word in s)
        {
            if(word.Length > K)
            {
                l.Add(word);
            }
        }

        Console.WriteLine(string.Join(", ", l));
    }
}
JavaScript
// JavaScript program for the above approach

// Driver Code
let S = "hello geeks for geeks is computer science portal";
let K = 4;
let s = S.split(" ");
let l = s.filter((x) => x.length > K);

console.log(l);

Output
['hello', 'geeks', 'geeks', 'computer', 'science', 'portal']

Time Complexity: O(n), where n is the length of the given string.
Auxiliary Space: O(n)

Method: Using the enumerate function 

C++
#include <iostream>
#include <string>
#include <vector>

using namespace std;

int main() {
    // Define the input sentence and minimum word length
    string sentence = "hello geeks for geeks is computer science portal";
    int length = 4;

    // Split the sentence into words and store them in a vector
    vector<string> s;
    string word;
    for (int i = 0; i < sentence.length(); i++) {
        if (sentence[i] == ' ') {
            s.push_back(word);
            word = "";
        } else {
            word += sentence[i];
        }
    }
    s.push_back(word);

    // Filter out words shorter than the minimum length and store them in a new vector
    vector<string> l;
    for (int i = 0; i < s.size(); i++) {
        if (s[i].length() > length) {
            l.push_back(s[i]);
        }
    }

    // Print the filtered words
    for (int i = 0; i < l.size(); i++) {
        cout << l[i] << " ";
    }
    cout << endl;

    return 0;
}
Java
// Java program for the above approach

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args)
    {
        String sentence
            = "hello geeks for geeks is computer science portal";
        int length = 4;
        // Split the sentence into words using spaces as
        // delimiters.
        String[] s = sentence.split(" ");

        // Find the words with length greater than the given
        // length.
        List<String> result = new ArrayList<>();
        for (int i = 0; i < s.length; i++) {
            if (s[i].length() > length) {
                result.add(s[i]);
            }
        }

        // Print the result.
        for (int i = 0; i < result.size(); i++) {
            System.out.print(result.get(i) + " ");
        }
        System.out.println();
    }
}
Python3
sentence = "hello geeks for geeks is computer science portal"
length = 4
s = sentence.split()
print([a for i, a in enumerate(s) if len(a) > length])
C#
// C# code addition find words which are greater than given length k.
using System;
using System.Collections.Generic;

class GFG
{
    static void Main()
    {
        // Define the input sentence and minimum word length
        string sentence = "hello geeks for geeks is computer science portal";
        int length = 4;

        // Split the sentence into words and store them in a list
        List<string> words = new List<string>();
        string word = "";
        foreach (char c in sentence)
        {
            if (c == ' ')
            {
                words.Add(word);
                word = "";
            }
            else
            {
                word += c;
            }
        }
        words.Add(word);

        // Filter out words shorter than the minimum length and store them in a new list
        List<string> filteredWords = new List<string>();
        foreach (string w in words)
        {
            if (w.Length > length)
            {
                filteredWords.Add(w);
            }
        }

        // Print the filtered words
        foreach (string w in filteredWords)
        {
            Console.Write(w + " ");
        }
        Console.WriteLine();
    }
}

// The code is contributed by Nidhi goel. 
JavaScript
// JavaScript program for the above approach
let sentence = "hello geeks for geeks is computer science portal";
let length = 4;

// Split the sentence into words using spaces as delimiters.
let words = sentence.split(" ");

// Find the words with length greater than the given length.
let result = [];
for (let i = 0; i < words.length; i++) {
    if (words[i].length > length) {
        result.push(words[i]);
    }
}

// Print the result.
console.log(result);

Output
['hello', 'geeks', 'geeks', 'computer', 'science', 'portal']

Time Complexity: O(n), where n is the length of the given string.
Auxiliary Space: O(n)


Similar Reads