Devuelve la suma de dos números (con un giro)

Espera, ¿un desafío muy difícil para devolver la suma de dos números? Bueno, en este caso, ¡los números pueden tener 1000 dígitos!

Así que, ¿cuál es el giro? Tienes que hacer la suma como si la hicieras manualmente en una hoja de papel; por lo tanto, la conversión de la cadena numérica a un literal numérico está básicamente prohibida.

Crea una función que:

  • Recibe dos números como cadenas.
  • Calcula la suma de estos dos números.
  • Devuelve el resultado como una cadena.

Ejemplos

sum("12132000", "12171979") ➞ "24303979"

sum("4666", "544") ➞ "5210"

sum("1521512512512512515", "898989898989988998899898") ➞ "898991420502501511412413"

sum("5125515215521515", "125261616261626") ➞ "5250776831783141"

sum("6666666666666666666666666666", "99999999999999999999999") ➞ "6666766666666666666666666665"

sum("123456789123456789123456789", "987654321987654321987654329876543") ➞ "987654445444443445444443453333332"

Notas

  • Todos los números son enteros positivos sin ceros iniciales.
  • Recuerda cómo sumar dos números EN UNA HOJA DE PAPEL; ese es el proceso.
  • Tu función debe ejecutarse en menos de 10 segundos porque Edabit tiene un límite de tiempo.
  • El uso de clases numéricas como BigInteger o BigDecimal está prohibido; eso frustraría el propósito y el nivel de dificultad asociados con este desafío.
  • Puedes encontrar una versión recursiva de este desafío en este enlace.