Genere una string incrementando el carácter de la string dada por el número presente en el índice correspondiente de la segunda string

Dadas dos strings S[] y N[] del mismo tamaño, la tarea es actualizar la string S[] agregando el dígito de la string N[] de los índices respectivos.

Ejemplos:

Entrada: S = “sol”, N = “966”
Salida: murciélago

Entrada: S = «manzana», N = «12580»
Salida: bruto

Enfoque: La idea es recorrer la string S[] de izquierda a derecha. Obtenga el valor ASCII de la string N[] y agréguelo al valor ASCII de la string S[] . Si el valor supera 122 , que es el valor ASCII de la última letra ‘z’ . Luego reste el valor por 26 , que es el recuento total de alfabetos en inglés. Actualice la string S con el carácter del valor ASCII obtenido. Siga los pasos a continuación para resolver el problema:

  • Iterar sobre el rango [0, S.size()) usando la variable i y realizar las siguientes tareas:
    • Inicialice las variables a y b como el valor entero y ascii de N[i] y S[i].
    • Si b es mayor que 122 , reste 26 de b.
    • Establezca S[i] como char(b).
  • Después de realizar los pasos anteriores, imprima el valor de S[] como respuesta.

A continuación se muestra la implementación del enfoque anterior.

C++

// C++ program for the above approach
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to update string
string updateStr(string S, string N)
{
    for (int i = 0; i < S.size(); i++) {
 
        // Get ASCII value
        int a = int(N[i]) - '0';
        int b = int(S[i]) + a;
 
        if (b > 122)
            b -= 26;
 
        S[i] = char(b);
    }
    return S;
}
 
// Driver Code
int main()
{
    string S = "sun";
    string N = "966";
    cout << updateStr(S, N);
    return 0;
}

Java

// Java code to implement above approach
import java.util.*;
public class GFG {
 
  // Function to update string
  static String updateStr(String S, String N)
  {
    String t = "";
    for (int i = 0; i < S.length(); i++) {
 
      // Get ASCII value
      int a = (int)(N.charAt(i) - '0');
      int b = (int)(S.charAt(i) + a);
 
      if (b > 122)
        b -= 26;
 
      char x = (char)b;
      t +=x;
    }
    return t;
  }
 
  // Driver code
  public static void main(String args[])
  {
    String S = "sun";
    String N = "966";
    System.out.println(updateStr(S, N));
 
  }
}
 
// This code is contributed by Samim Hossain Mondal.

Python3

# Python code for the above approach
 
# Function to update string
def updateStr(S, N):
    S = list(S)
    for i in range(len(S)):
 
        # Get ASCII value
        a = ord(N[i]) - ord('0')
        b = ord(S[i]) + a
 
        if (b > 122):
            b -= 26
 
        S[i] = chr(b)
    return "".join(S)
 
# Driver Code
 
S = "sun"
N = "966"
print(updateStr(S, N))
 
# This code is contributed by Saurabh Jaiswal

C#

// C# code to implement above approach
using System;
public class GFG {
 
  // Function to update string
  static String updateStr(String S, String N)
  {
    String t = "";
    for (int i = 0; i < S.Length; i++) {
 
      // Get ASCII value
      int a = (int)(N[i] - '0');
      int b = (int)(S[i] + a);
 
      if (b > 122)
        b -= 26;
 
      char x = (char)b;
      t +=x;
    }
    return t;
  }
 
  // Driver code
  public static void Main(String []args)
  {
    String S = "sun";
    String N = "966";
    Console.WriteLine(updateStr(S, N));
 
  }
}
 
// This code is contributed by shikhasingrajput

Javascript

<script>
   // JavaScript code for the above approach
 
   // Function to update string
   function updateStr(S, N) {
     S = S.split('')
     for (let i = 0; i < S.length; i++) {
 
       // Get ASCII value
       let a = (N[i].charCodeAt(0) - '0'.charCodeAt(0));
       let b = (S[i].charCodeAt(0)) + a;
 
       if (b > 122)
         b -= 26;
 
       S[i] = String.fromCharCode(b);
     }
     return S.join('');
   }
 
   // Driver Code
 
   let S = "sun";
   let N = "966";
   document.write(updateStr(S, N));
 
 // This code is contributed by Potta Lokesh
 </script>
Producción

bat

Complejidad temporal: O(|S|)
Espacio auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por vansikasharma1329 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *