Open In App

Find words which are greater than given length k

Last Updated : 15 Dec, 2023
Improve
Improve
Like Article
Like
Save
Share
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

Length of longest subarray in which elements greater than K are more than elements not greater than K
Given an array arr[] of length N. The task is to find the length of the longest subarray in which elements greater than a given number K are more than elements not greater than K.Examples: Input : N = 5, K = 2, arr[]={ 1, 2, 3, 4, 1 } Output : 3 The subarray [2, 3, 4] or [3, 4, 1] satisfy the given condition, and there is no subarray of length 4 or
10 min read
Smallest subarray of size greater than K with sum greater than a given value
Given an array, arr[] of size N, two positive integers K and S, the task is to find the length of the smallest subarray of size greater than K, whose sum is greater than S. Examples: Input: arr[] = {1, 2, 3, 4, 5}, K = 1, S = 8Output: 2Explanation: Smallest subarray with sum greater than S(=8) is {4, 5}Therefore, the required output is 2. Input: ar
15 min read
Count the number of words having sum of ASCII values less than and greater than k
Given a string, the task is to count the number of words whose sum of ASCII values is less than and greater than or equal to given k. Examples: Input: str = "Learn how to code", k = 400Output:Number of words having the sum of ASCII less than k = 2Number of words having the sum of ASCII greater than or equal to k = 2 Input: str = "Geeks for Geeks",
11 min read
Find the element before which all the elements are smaller than it, and after which all are greater
Given an array, find an element before which all elements are smaller than it, and after which all are greater than it. Return the index of the element if there is such an element, otherwise, return -1. Examples: Input: arr[] = {5, 1, 4, 3, 6, 8, 10, 7, 9}; Output: 4 Explanation: All elements on left of arr[4] are smaller than it and all elements o
15+ min read
Largest number with maximum trailing nines which is less than N and greater than N-D
Given two numbers N and D. The task is to find out the largest number smaller than or equal to N which contains the maximum number of trailing nines and the difference between N and the number should not be greater than D. Examples: Input: N = 1029, D = 102 Output: 999 1029 has 1 trailing nine while 999 has three trailing nine. Also 1029-999 = 30(w
14 min read
Length of the largest substring which have character with frequency greater than or equal to half of the substring
Given a string S consisting of characters from 'a' to 'z'. The task is to find the length of the largest substring of S which contains a character whose frequency in the sub-string is greater than or equal to half of the length of the substring.Note: For odd-length substring, to calculate half-length consider integer division. For example, half of
10 min read
Python - Find all pairs of consecutive odd positive integer smaller than a with sum greater than b
Given two positive integers a and b, the task is to write a program in python to find all pairs of consecutive odd numbers which are smaller than the first number a and their sum should be greater than the second number b. Examples: Input: a = 60 b = 100 Output: Pairs of consecutive number are: 51 , 53 53 , 55 55 , 57 57 , 59 Input: a = 20 b = 200
3 min read
Find minimum integer greater than B that is product of two values less than A
Given 2 positive integers A and B, the task is to find the minimum possible integer C, which is greater than or equal to B and is a product of two positive integers, both of which are less than or equal to A. Examples: Input: A = 5, B = 7Output: 8Explanation: 8 can be represented as a product of 2 positive integers less than 5. i.e. 2*4 = 8. Also,
6 min read
Find all words from String present after given N words
Given a string S and a list lis[] of N number of words, the task is to find every possible (N+1)th word from string S such that the 'second' word comes immediately after the 'first' word, the 'third' word comes immediately after the 'second' word, the 'fourth' word comes immediately after the 'third' word and so on. Examples: Input: S = “Siddhesh i
11 min read
Smallest Special Prime which is greater than or equal to a given number
Given a number N. The task is to find the smallest special prime which is greater than or equal to N.A special prime is a number which can be created by placing digits one after another such the all the resulting numbers are prime. Examples: Input: N = 379 Output: 379 379 can be created as =&gt; 3 =&gt; 37 =&gt; 379 Here, all the numbers ie. 3, 37,
9 min read