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 = “neveropen”
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
// 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 = "neveropen" ; // 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
// 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 = "neveropen" ; // Given Number num int num = 858 ; // Printing the result System.out.println(generateNewString(str, num)); } } |
GfG
Time Complexity: O(N)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!