Given a number num and String str, the task is to generate the new String by extracting the character from the string by using the index value of numbers.
Examples:
Input: str = “GeeksforGeeks”
num = 858
Output: GfG
Explanation: The 8th, 5th, and 8th position of the characters are extracting from the given string and generate a new string.
Input: str = “Java”
num = 12
Output: The 1st and 2nd position of the characters are extracting from the given string and generate a new string.
Method 1: Using Two Traversals
- Get the string and number to generate a new string.
- Initialize a variable that stores the final answer.
- Converting the given number into the string.
- Traverse the loop from start to end.
- Getting the last digit of the number and add kth position character into the variable answer.
- Traverse the loop in the reverse order and adding the jth position character into the variable finalAnswer.
- Now, print the result.
// Java program to generate String by using // Strings and numbers class GFG {
// Function to generate the new String
public static String generateNewString(String str,
int num)
{
// Initialize a variable that
// stores the final answer.
String finalAnswer = "" ;
String answer = "" ;
// Converting the given numbers
// into string
String index = String.valueOf(num);
// Traverse the loop from start to end
for ( int i = 0 ; i < index.length(); i++) {
// Getting last digit of numbers
int k = num % 10 ;
// Adding kth position character
// into the variable answer
answer = answer + str.charAt(k);
num = num / 10 ;
}
// Traverse the loop in reverse order
for ( int j = answer.length() - 1 ; j >= 0 ; j--) {
// Adding jth position character
// into the variable finalAnswer
finalAnswer = finalAnswer + answer.charAt(j);
}
// Return the finalAnswer
return finalAnswer;
}
// Driver Code
public static void main(String args[])
{
// Given String str
String str = "GeeksforGeeks" ;
// Given Number num
int num = 858 ;
// Printing the result
System.out.println(generateNewString(str, num));
}
} |
GfG
Method 2: Using One Traversal
- Get the string and number to generate a new string.
- Initialize a variable that stores the result.
- Converting the given number into the string.
- Traverse the loop from start to end.
- Get the right index and adding kth position character into the result.
- Now, print the result.
// Java program to generate String by using // Strings and numbers class GFG {
// Function to generate the new String
public static String generateNewString(String str,
int num)
{
// Initialize a variable that
// stores the result.
String result = "" ;
// Converting the given numbers
// into the string
String index = String.valueOf(num);
// Traverse the loop from start to end
for ( int i = 0 ; i < index.length(); i++) {
// Getting the right index
int k = index.charAt(i) - 48 ;
// Adding kth position character
// into the result
result = result + str.charAt(k);
}
// Return result
return result;
}
// Driver Code
public static void main(String args[])
{
// Given String str
String str = "GeeksforGeeks" ;
// Given Number num
int num = 858 ;
// Printing the result
System.out.println(generateNewString(str, num));
}
} |
GfG
Time Complexity: O(N)