Autor Tema: Transactel Lanza Desafío en Internet  (Leído 49817 veces)

0 Usuarios y 7 Visitantes están viendo este tema.

Desconectado hkadejo

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 3345
Re: Transactel Lanza Desafío en Internet
« Respuesta #195 : abril 29, 2011, 09:07:19 pm »
Yo pase como media hora, en el primer problema, y estaba segurisimo que funcionaba, pero nunca pasaba...hasta postee una onda en el facebook de transactel y ahi me dijeron que tenia razon mi respuesta era bueno, que tenian un problema, la reenvie y segui avanzando.
Los otros niveles hasta el 6 o 7, solo era de observar codigo fuente, tener algo de imaginacion y no ser tan "cuadrado" a la hora de buscar la respuesta, es decir un poco de ingenio era requerido.
Los demas niveles hasta llegar al ultimo no me costaron tanto, la misma noche del primer dia llegue al ultimo reto, al principio lo vi sencillo, pero despues vi la magnitud. Ni modo cansado me fui a dormir, le dedique todo el dia siguiente sin poder lograrlo, ya el domingo no pude continuar, sali de casa, asi que desisti en seguir.

Aunque llegue al final y no logre completarlo, fue una buena experiencia participar y probarme a mi mismo las habilidades que he adquirido y la verdad yo que conozco como programaba antes, he hecho un gran avance personal, asi que termine con un buen sabor de boca al final del reto aun cuando no lo termine.

Ojala repitan esto, pero ya mas tipo torneo o concurso de todos los años o porque no organizar uno entre communiters, tal vez con patrocinio de SVC o los patrocinadores de SVC (Aeon, etc) donde podamos incluir mas lenguajes de programacion o bueno es una idea....

Desconectado plunplan

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 7545
  • pwning
Re: Transactel Lanza Desafío en Internet
« Respuesta #196 : abril 29, 2011, 09:17:14 pm »
hey y el colocho de eñe si es tan palomada por que no gano esto?  :roll: o solo en paja se va?

PD. felicidades Naruto! no sos tan gato despues de todo  :rofl:
New Rig

Old Rig

Desconectado Tino

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 2140
Re: Transactel Lanza Desafío en Internet
« Respuesta #197 : abril 29, 2011, 10:51:41 pm »
Ucta Naruto, muchas felicidades man.

Talvez no sea este tema el correcto pero yo gracias a communiter consegui un importante contacto en Search y ahora tengo un nuevo y mejor empleo.

Antier contacte a Naruto para que me refiriera un familiar en Transactel y hoy ya tiene trabajo!

Gracias SVC tengo a un par de mejores amigos y que puedo decir más.

Te agradezco un monton Naruto, y mil felicidades man.

Y offtopic no entiendo ni mierrr. que era el certamen pero por lo visto se puso bueno...


Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13252
  • some text
Re: Transactel Lanza Desafío en Internet
« Respuesta #198 : abril 30, 2011, 01:01:33 am »
Gracias naruto por los datos estadisticos, son interesantes, esto es un buen indicador para muchos.
Y por lo visto le atine casi al pelo en mi prediccion original, solo falle en el total de participantes por 6  :phew:.

Solo un comentario para futuros retos, el servidor la noche del viernes tuvo demasiadas fallas a la hora de enviar la respuesta, tenias que enviar hasta 3 o 4 veces el codigo para que lo aceptara esto pudo incidir en muchos pensaran que su solucion estaba mal cuando realmente era falla del servidor.
no era falla del servidor, una nueva pregunta y una nueva respuesta se generaban cada 3 segundos, si te cargaba la pagina, basicamente tenias 3 segundos para pegar tu código y darle submit, si te tardabas mas que eso, aunque estuviera bueno tu codigo, como se calculo para una "vieja pregunta" tu respueta ya no era válida porque habia una nueva respuesta, asi que tenias que pegar otra vez el codigo en menos de 3 segundos de nuevo y si te tardabas mas, de nuevo lo mismo y lo mismo.

otra era que tu respuesta estaba mala y obviamente no te iba a dejar pasar  :roll:
Yo pase como media hora, en el primer problema, y estaba segurisimo que funcionaba, pero nunca pasaba...hasta postee una onda en el facebook de transactel y ahi me dijeron que tenia razon mi respuesta era bueno, que tenian un problema, la reenvie y segui avanzando.
Los otros niveles hasta el 6 o 7, solo era de observar codigo fuente, tener algo de imaginacion y no ser tan "cuadrado" a la hora de buscar la respuesta, es decir un poco de ingenio era requerido.
Los demas niveles hasta llegar al ultimo no me costaron tanto, la misma noche del primer dia llegue al ultimo reto, al principio lo vi sencillo, pero despues vi la magnitud. Ni modo cansado me fui a dormir, le dedique todo el dia siguiente sin poder lograrlo, ya el domingo no pude continuar, sali de casa, asi que desisti en seguir.

Aunque llegue al final y no logre completarlo, fue una buena experiencia participar y probarme a mi mismo las habilidades que he adquirido y la verdad yo que conozco como programaba antes, he hecho un gran avance personal, asi que termine con un buen sabor de boca al final del reto aun cuando no lo termine.

Ojala repitan esto, pero ya mas tipo torneo o concurso de todos los años o porque no organizar uno entre communiters, tal vez con patrocinio de SVC o los patrocinadores de SVC (Aeon, etc) donde podamos incluir mas lenguajes de programacion o bueno es una idea....

Que no les quepa duda que si se vuelve a dar un puesto similar, intercederé porque sea un reto algo similar, a todo mundo en la empresa le gustó lo del reto, tanto asi que creo que van a llevar la idea a otro pais  :x
N/A

Desconectado buscador2k

  • Sv Full Member
  • *
  • Mensajes: 541
  • .
Re: Transactel Lanza Desafío en Internet
« Respuesta #199 : abril 30, 2011, 01:18:55 am »
no era falla del servidor, una nueva pregunta y una nueva respuesta se generaban cada 3 segundos, si te cargaba la pagina, basicamente tenias 3 segundos para pegar tu código y darle submit, si te tardabas mas que eso, aunque estuviera bueno tu codigo, como se calculo para una "vieja pregunta" tu respueta ya no era válida porque habia una nueva respuesta, asi que tenias que pegar otra vez el codigo en menos de 3 segundos de nuevo y si te tardabas mas, de nuevo lo mismo y lo mismo.

otra era que tu respuesta estaba mala y obviamente no te iba a dejar pasar  :roll:
Que no les quepa duda que si se vuelve a dar un puesto similar, intercederé porque sea un reto algo similar, a todo mundo en la empresa le gustó lo del reto, tanto asi que creo que van a llevar la idea a otro pais  :x

En eso estas equivocado naruto, cuando ponias respuestas quemadas a mano SI podia fallar por el timeout del servidor y efectivamente esa era la idea del uso del timeout para evitar respuestas calculadas a mano, pero cuando era codigo NO tenia porque fallar la respuesta ya que se calculaba dinamicamente en algunas preguntas, ademas como explicas que te dejara pasar con el mismo codigo dandole "enviar" varias veces sin hacer el cambio (especialmente cuando estas 100% seguro que el codigo funciona) , obvio que algo pasaba con el servidor.


Desconectado buscador2k

  • Sv Full Member
  • *
  • Mensajes: 541
  • .
Re: Transactel Lanza Desafío en Internet
« Respuesta #200 : abril 30, 2011, 01:31:54 am »
Yo me pregunto qué habrán usado los demás para resolver el problema 10. ¿Serán igual de eficientes, serán más eficientes, o serán programas con un código no muy elegante o con rendimiento pobre? Sería bueno ver los demás programas o no hay cómo comparar. El que yo hice no se tarda ni un segundo en encontrar la respuesta, y usando una cantidad muy baja de comprobaciones (unas 75 a lo sumo).

Siempre me interesa más hacer programas que corran lo mejor posible y que dejen poco que corregir, que terminarlos rápido sin haber aprendido nada nuevo o haber logrado acumular un poco más de código elegante a mi repertorio de reutilizables. Necesito saber todas las posibilidades, partes caprichosas y comportamientos de un problema para poder resolverlo y eso toma más tiempo por lo general. A mi forma de ver eso también es una gran ganancia práctica, y compartiendo el resultado con todos no soy solo yo el beneficiado sino que quizás alguien más pueda aprender y hacer algo todavía mejor.

Creo que expliqué bien cómo lo logré resolver yo. No todo se trata de terminar más rápido, y creo que esto demuestra que pensar más detenidamente puede producir al final un programa más conciso. Eso es algo que siempre necesito para trabajar cómodamente y avanzar. Así queda explicado y comprendido cada aspecto del problema para que ya no sea necesario volver a hacer mucha investigación en problemas similares (lo mismo que menciono de generar un índice de árbol visual tipo explorador: si no hubiera hecho eso entonces no hubiera tenido esa parte clave para poder resolver el problema usando algo compatible, ideado anteriormente).



Bueno en mi caso cuando me dijeron que era un RETO lo tome como competencia de VELOCIDAD no de hacer CODIGO ELEGANTE, al contrario hacer codigo que FUNCIONARA, no recuerdo que mencionaran algo de mandar respuestas optimizadas pero para hay mil formas de pelar un gato (no tiene nada que ver contigo naruto)  :D

igual a veces antes de optimizar el codigo primero debes encontrar una solucion y despues tenes todo el tiempo para optimizarla. Es como en los examanes respondes primero las preguntas faciles y dejas al final las preguntas dificiles.
Por cierto las primeras preguntas tenian respuestas buscando ejemplos en google, diran que es trampa o  falta de imaginacion etc. etc., yo lo llamaria reutilizar lo que ya alguien hizo en lugar de reinventar la rueda, de la 4 o algo asi en adelante ya no funcionaba esa tecnica, bueno entonces era comenzar a programar jejeje

Claro que comparto la idea de ~ de crear codigo optimizado para hacer adecuado uso de los recursos del equipo, pero debe ser algo equilibrado entre programacion mantenible y eficiente, es decir codigo claro para ser entendible y modificable por otros programadores.
« Última Modificación: abril 30, 2011, 01:46:01 am por buscador2k »

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13252
  • some text
Re: Transactel Lanza Desafío en Internet
« Respuesta #201 : abril 30, 2011, 01:37:27 am »
En eso estas equivocado naruto, cuando ponias respuestas quemadas a mano SI podia fallar por el timeout del servidor y efectivamente esa era la idea del uso del timeout para evitar respuestas calculadas a mano, pero cuando era codigo NO tenia porque fallar la respuesta ya que se calculaba dinamicamente en algunas preguntas, ademas como explicas que te dejara pasar con el mismo codigo dandole "enviar" varias veces sin hacer el cambio (especialmente cuando estas 100% seguro que el codigo funciona) , obvio que algo pasaba con el servidor.

te digo que no òmbe! no seas necio!

las preguntas eran generadas en base a un patron establecido con elementos aleatorios, cada 3 segundos para cada pregunta habia una respuesta distinta.
cuando tu código calculaba la respuesta, tomaba en cuenta los valores en la página actual y para esos valores habia una respuesta única, pero si te tardabas mas de 3 segundos, el servidor generaba una nueva pregunta y por consecuencia una nueva respuesta, ya si no me entendiste eso pues por Houston, te digo porque ahi tengo el código de todo el desafío  :drinks:
« Última Modificación: abril 30, 2011, 01:39:51 am por naruto »
N/A

Desconectado buscador2k

  • Sv Full Member
  • *
  • Mensajes: 541
  • .
Re: Transactel Lanza Desafío en Internet
« Respuesta #202 : abril 30, 2011, 01:50:03 am »
te digo que no òmbe! no seas necio!

las preguntas eran generadas en base a un patron establecido con elementos aleatorios, cada 3 segundos para cada pregunta habia una respuesta distinta.
cuando tu código calculaba la respuesta, tomaba en cuenta los valores en la página actual y para esos valores habia una respuesta única, pero si te tardabas mas de 3 segundos, el servidor generaba una nueva pregunta y por consecuencia una nueva respuesta, ya si no me entendiste eso pues por Houston, te digo porque ahi tengo el código de todo el desafío  :drinks:

Leiste BIEN mis comentarios?

si te menciono eso es porque realmente deja un malestar enviar codigo CORRECTO y que no jale a la primera pero si jale a la segunda SIN CAMBIAR el codigo (como explicas eso?), como te dije era un CONSEJO para que lo tomen en cuenta para futuras pruebas.

Y ya que mencionas que tenes acceso al codigo del desafio, tenes todos los intentos que enviamos cada uno? o no dejo rastro de cada submit? digo asi podes verificar lo que varios experimentamos como falla del servidor.
« Última Modificación: abril 30, 2011, 01:56:46 am por buscador2k »

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13252
  • some text
Re: Transactel Lanza Desafío en Internet
« Respuesta #203 : abril 30, 2011, 02:10:51 am »
amigo buscador2k

te explico DE NUEVO como un mismo código BUENO puede NO SER ACEPTADO el primer submit si no hasta el segundo o tercero

tu codigo calcula una respuesta en base a datos en la pantalla actual los cuales cambian en el servidor cada 3 segundos.

digamos que el problema es dados A y B sumelos y de la respuesta  en la variable respuesta

la pregunta que te aparece es
var A = 1
var B = 2

tu codigo será

var respuesta = A+B

HASTA AQUI TU CODIGO ESTA CORRECTO

asi como esta, al evaluar tu codigo la variable "respuesta" regresará "3"
Y ESTA BIEN PARA CUANDO A = 1 y B = 2

pero 3 segundos despues el server tiene nuevos datos y son

var A = 4
var B = 16

para el server la respuesta que espera recibir es "20"
la pregunta original queda descartada, YA CADUCÓ

pero como te tardaste y genero una nueva variante, tu código evalua para A = 1 y B = 2
das por respuesta "3" y esta no es igual a "20" entonces en pantalla te volvera a preguntar  y esa nueva pregunta y nueva respuesta es valida para los proximos 3 segundos

ahora si, mas claro no lo puedo dejar, si no lo entendiste talvez no estabas preparado para este reto.

que el diseño de la prueba esta "raro" ?
pudo haber mejorado?
si, talvez, pero este era el reto a vencer y era el que habia, asi como en la vida, uno no elige los retos, si no que los enfrenta  y los supera como vengan buscando la mejor solucion posible y de antemano conciendo sus procedencias, causas y consecuencias  :drinks:
N/A

Desconectado JaiMe

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 1485
  • λ | h+
Re: Transactel Lanza Desafío en Internet
« Respuesta #204 : agosto 22, 2011, 01:52:59 pm »
Ya paso bastante tiempo desde que el challenge termino y el communiter naruto obtuvo el puesto. No habia publicado mi respuesta al problema #10 :phew:... pero viendo que esta parte del foro ha pasado inactiva desde que removieron los Thank You, vengo a dejarles mi solucion:

Codigo
http://jsfiddle.net/jaimem/2VY39/

Correr Demo
http://jsfiddle.net/jaimem/2VY39/embedded/result/

Muchos intentaron solucionar el problema usando Algoritmo de Dijkstra, en mi solucion yo ocupe algo parecido al algoritmo de Búsqueda en Profundidad.

Mi primer solucion se tardaba 500+ milisegundos, la version optimizada se tarda menos de 3 milisegundos (Intel Core 2 Duo @2.8Ghz). Mi filosofia es terminar las cosas a tiempo y optimizar despues. La mejora fue tan simple que no se como se me paso por alto la primera vez, basicamente el cambio solo fue marcar las galaxias como visitadas para evitarlas en un futuro. Aumentar la velocidad y reducir el consumo de memoria requeriria construir una Matriz de Adyacencia en lugar de la estructura que estoy usando, pero IMHO aumentar la velocidad un par de milisegundos mas no vale la pena el esfuerzo requerido - a menos que estuviera buscando trabajar para google.

Creo que he logrado un buen balance entre optimizacion y mantenibilidad. Espero que los interesados en programacion aprendan un poquito mas al leerlo.

Referencias:
http://es.wikipedia.org/wiki/Algoritmo_de_Dijkstra
http://es.wikipedia.org/wiki/B%C3%BAsqueda_en_profundidad
http://es.wikipedia.org/wiki/Matriz_de_adyacencia
« Última Modificación: agosto 22, 2011, 01:55:27 pm por JaiMe »
"Unless you try to do something beyond what you have already mastered, you will never grow."
― Ralph Waldo Emerson