Find words which are greater than given length k
Last Updated :
15 Dec, 2023
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)
?>
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)
Explore
DSA Fundamentals
Data Structures
Algorithms
Advanced
Interview Preparation
Practice Problem