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élagoEntrada: 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>
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