Desafió semana 1

Empezare esta sección donde publicare todas las semanas una pregunta tipo entrevista de trabajo con la idea de no oxidarme en la algoritmia, para este tiempo usare Python aun que podrían usar en teoría cualquier otro lenguaje de programación.

Entregado dos variables, invertir la asignación de dos variables sin el uso de funciones, creación de otras variables, etc.

Tiempo disponible: 20 Min
#crear variables
a = 20
b = 15

Al principio estuve nervioso ya que esto se podría hacer fácilmente con una función, pero luego de muchas preguntas, el entrevistador siempre rechazaba mis preguntas.

#Ejemplo de facil solucion no admitida
def invertir(a, b):
  return b,a
a_f, b_f = invertir(a,b)
a_f, b_f

Sabia que no iba a ser fácil, pero no me rendí, estaba pensando que tal vez usando operaciones matemáticas podría encontrar la solución, solo tenia que considerar lo siguiente:

  1. Las variables podría tener cualquier valor y no marginarme a los dejados para probar el ejercicio
  2. Cumplir las reglas de no crear mas
  3. Tenía que hacerlo en 15 minutos que me quedaban de la entrevista

Debido a la 1. No podía ocupar decimales ya que requería tener otra variable para saber a cuantos dígitos algo así por ejemplo: b=a/100 + b luego recupero el a y lo multiplico por 100 y obtengo a….

En ello empece a acordarme de mi profesor de calculo y empece de cero, en vez de mirarlo como problema computacional, lo debo resolver como problema matemático, de esa manera:

Operación matemáticaEjemploAB
2015
a=a+ba=20+153515
b=a-bb=35-153520
a=a-ba=35-201520
Así que una vez probado en papel (use un cuaderno para resolverlo mas rápido) lo pase a código
a=a+b
b=a-b
a=a-b
print("El valor de A es : {}".format(a))
print("El valor de B es : {}".format(b))

Pudo parecer fácil pero el hecho que me cortaran las alas para utilizar solo asignaciones fue algo que me tomo desprevenido, ademas me cambiaron esa entrevista 2 veces y cuando la di el día anterior me había trasnochado trabajando en otro proyecto aun que eso no justifica, pensé que de declinar el cambio de fecha afectaría mi postulación, ¿ustedes que habrían hecho? ¿alguna vez se enfrentaron a una situación así en algún proyecto?

Por mi parte, aprendí a no confiar en una sola forma de resolver los ejercicios y siempre ver si existe algún plan B

Finalmente cambie los números por que no encontré el archivo original, pero logre recuperar mis apuntes a medio terminar después de escribir esta entrada, no esta terminado ya que una vez vi que funcionaria lo ingrese al código antes de probarlo completamente en el papel y por supuesto para tenerlo completo, limpio y claro deje mas descripción.

Deja un comentario