Después de haber hecho el reto 1 por mi cuenta, ver tu código después, me avergüenzo de mi lógica implementada por mi cuenta. Me he propuesto hacer un reto al día. Tres años como programador, ahora tristemente en búsqueda de empleo, y no paso ni un test de leetcode o codility. Me hace falta refrescar que se pueden utilizar Maps o cosas así como he visto en el reto 1.
Muy muy bueno este video! Me quedó algo del último reto. En cada iteración del filter estamos haciendo el slice para obtener el wisperToUse. Podemos hacerlo una sola vez afuera de la función que le pasamos al filter
Te recomiendo hacer un limite, por ejemplo cuando aprendi canvas hice 20 ejemplos de canvas, cuando aprendi Regex hice al menos 20 ejemplos, cuando aprendi enrutado con react router dom hice 20 ejercicios y asi con cualquier cosa que aprendas. (Tu mente debe sentir que lo que estas haciendo es útil para tu "supervivencia")
@@Rosebud53 Sinceramente eres el mejor comentario que he podido leer cuando se trata de estudiar estos temas, lo mejor es que aplica para todas las áreas de nuestras vidas.
@@Rosebud53 Gracias!! Al ser nuevo y autodidacta por ahí no le prestó mucha atención a la práctica y hacer ejemplos como vos decis, pero tenés toda la razón.
@@IsZeera La clave es hacer un acumulativo y verificar si se alcanzó el resultado con un bucle anidado para que sume un elemento de una posición con todos los demás y así sucesivamente hasta recorrer toda la estructura (lo hice con arrays en java), para que no verifique solamente de manera consecutiva, ánimo :)
Muy buen video midu, creo que los ejercicios son demasiado dificiles para mí actualmente, pude resolver los primeros dos, pero siento que la progresión se me dificulta demasiado para mis conocimientos actuales, más que no habia tocado nunca js, ¿donde podría conseguir más ejercicios para ir progresando a un ritmo más consistente? o opinan que lo mejor es seguir intentando con los ejericios del video? desde ya muchas gracias
no estaria nada mal un curso de logica de programacion y pensamiento computacional por un docente con unas cualidades como las tuyas, con tu experiencia y capacidad de explicar algo de la manera que lo haces, entretenido al grano y con explicaciones que rellenan vacios de conocimiento. Seria un impulso bestial a la gente que esta empezando en el mundillo y se frustra por no poder escribir codigo por su cuenta sin apoyos externos
Midu que buen vídeo! En el segundo reto no sería más eficiente restar dígito a dígito el valor de ambas facciones que guardar ambas sumas? Y al final dependiendo de si es positivo o negativo es humano o zombie
hola, estoy estudia programación pero en kotlin y quería saber si para desbloquear el siguiente nivel es obligatorio entregarlo en js o hay alguna otra forma de desbloquearlo??
Pues yo para el primero, incluso pensando "a mano", sólo lo veía posible con 2 pasadas. Es decir, con 2 for. Aunque lo haría de forma optimizada. O sea, no sería "todos con todos", sino 1 primer bucle exterior para recorrer cada posición. Y 1 bucle interior para ir recorriendo NO todos, sino SÓLO los elementos que queden a la derecha del elemento actual (ya que las anteriores posiciones ya las hemos sumado). Tu forma la veo más complicada xD Y ESTA es otra forma de mejorar. No sólo enfrentarnos nosotros a problemas, sino también ver las soluciones de otros, que igual no se nos hubiera ocurrido nunca.
Tengo una duda en el primer problema de las pociones dice, debes encontrar el índice de las dos primeras pociones que sumen exactamente el poder objetivo. Y en el ejemplo con las pociones: [10, 5, 2, 3, 7, 5] Objetivo: 10 Espera que el resultado sea las posiciones [3,4] que serian los valores 7 y 3 respectivamente pero no deberían ser las primeras pociones [1,5] cullos valores son 5 y 5 ya que la posición 1 esta antes que la 3?
pero te tienes que fijar la 2da poción, no la 1ra. Una parte del ejercicio dice: "En el caso que haya más de una combinación posible, selecciona la combinación cuya SEGUNDA poción aparezca primero en la lista."
Quise intentar el primer ejercicio por mi cuenta, pero creo que lo sobrepense demasiado, lo primero que se me ocurrio fue tratar de hacerlo con una busqueda binaria, y termine haciendo un monton de codigo, y cuando llegue a mi solucion, quise ver la tuya en el video, no pense que se podria resolver de manera tan sencilla, porque mi cabeza penso primero en lo mas complicado
16:28 midu no estaria bien lo que devuelve? porque si vemos la 3ra cond: "si hay más de una conbinación selecciones la segunda poción que aparece primero en la lista"
el problema 3 me costo un poco entenderlo como lo explicaba midu, dejo aqui una explicacion alternativa usando una matriz no un array que puede ayudar a aclarar dudas, Creamos una matriz dp del mismo tamaño que la matriz dream, donde dp[i][j] representa el nivel de peligro mínimo acumulado al llegar a la celda (i, j). Inicializamos dp[0][0] con el valor de dream[0][0] porque es el punto de inicio. Para cada celda (i, j) en la matriz: Si estamos en la primera fila (es decir, i = 0), solo podemos venir desde la izquierda, así que dp[0][j] = dp[0][j-1] + dream[0][j]. Si estamos en la primera columna (es decir, j = 0), solo podemos venir desde arriba, así que dp[i][0] = dp[i-1][0] + dream[i][0]. Para el resto de las celdas, tomamos el mínimo entre venir desde la izquierda (dp[i][j-1]) o desde arriba (dp[i-1][j]), y sumamos el valor de dream[i][j]. Al final, el valor en la esquina inferior derecha (dp[n-1][m-1]) nos dará el nivel de peligro del camino más seguro.
Ya hice las dos primeras en unos 20 minutitos, esta muy bien y me costo encontrar mi error, lo unico malo de la pagina es que no te pone los console.logs (al menos que yo sepa) que son muy importantes para encontrar errores, a si que tuve que ejecutar el codigo en la consola algunas veces para hacerlos. El primero era mucho mas dificil que el segundo, que el segundo fue solo tardar en escribirlo y alguna cosita mas
@@ulisesnava6834 No, son easy, pero en general es bueno empezar por este tipo de ejercicios e ir resolviendo de poco en poco. Igual si notas que este tipo de ejercicios te cuesta, hay todavía más fáciles, que son esos más fáciles los que recomendaría empezar para no desmotivarse.
@@hermano1171 Los ejercicios de Hackerrank, tienen secciones para todos, en general los ejercicios van relacionados con estructura de datos y algoritmos, saludos!
La de lis sospechosos se puede resolver con una expresión regular agregando ^ al principio, reemplazando ~ por ‘.’ y creándola con ‘i’ como segundo argumento
El reto 2 me dio Complejidad cognitiva: 24 me cagué de risa porque midu ponia como ejemplo exagerado de 12 complejidad cognitiva y yo saqué el doble XDDDD y sí el código está recontra mejorable pero lo primero es que funciones y luego lo mejoro :p
así hice el primero (yo utilizo el pensamiento computacional casi siempre llego a la solución parecidas a estas ) function devolverSuma(lista, entero){ let posicion=null; stop: for(let i=0; i
@@eliasortega8681hay algo que se llama complejidad asintótica, es para ver qué desempeño tendría tu algoritmo tendría tu algoritmo si la entrada de datos fuera muy grande, la tuya es O(n^2) y complejidad de memoriaO(1), la del video es O(n) en memoria y tiempo, es un poco difícil de explicar en un comenrtario, pero si buscas del tema y resuelves varios problemas aprendes a calcularla tú mismo
Programador con casi 3 años de experiencia habiendo trabajado para empresas en EEUU y se me complico el ejercicio 1 aun que logre resolverlo pero no funciona al 100% en mi caso lo hice con dart. Soy una vergüenza
Mil gracias Midu!!! Que buen contenido!!! Llevo ya camino de 3 años trabajando de programador, y eres uno de mis mayores mentores! Gracias siempre!!
Después de haber hecho el reto 1 por mi cuenta, ver tu código después, me avergüenzo de mi lógica implementada por mi cuenta. Me he propuesto hacer un reto al día. Tres años como programador, ahora tristemente en búsqueda de empleo, y no paso ni un test de leetcode o codility. Me hace falta refrescar que se pueden utilizar Maps o cosas así como he visto en el reto 1.
Muy muy bueno este video! Me quedó algo del último reto. En cada iteración del filter estamos haciendo el slice para obtener el wisperToUse. Podemos hacerlo una sola vez afuera de la función que le pasamos al filter
no pude hacer ni la primera xD, ah seguir estudiando F
Te recomiendo hacer un limite, por ejemplo cuando aprendi canvas hice 20 ejemplos de canvas, cuando aprendi Regex hice al menos 20 ejemplos, cuando aprendi enrutado con react router dom hice 20 ejercicios y asi con cualquier cosa que aprendas. (Tu mente debe sentir que lo que estas haciendo es útil para tu "supervivencia")
@@Rosebud53 Sinceramente eres el mejor comentario que he podido leer cuando se trata de estudiar estos temas, lo mejor es que aplica para todas las áreas de nuestras vidas.
@@Rosebud53 Gracias!! Al ser nuevo y autodidacta por ahí no le prestó mucha atención a la práctica y hacer ejemplos como vos decis, pero tenés toda la razón.
@@IsZeera La clave es hacer un acumulativo y verificar si se alcanzó el resultado con un bucle anidado para que sume un elemento de una posición con todos los demás y así sucesivamente hasta recorrer toda la estructura (lo hice con arrays en java), para que no verifique solamente de manera consecutiva, ánimo :)
@@Rosebud53gran consejo
Muy buen video midu, creo que los ejercicios son demasiado dificiles para mí actualmente, pude resolver los primeros dos, pero siento que la progresión se me dificulta demasiado para mis conocimientos actuales, más que no habia tocado nunca js, ¿donde podría conseguir más ejercicios para ir progresando a un ritmo más consistente? o opinan que lo mejor es seguir intentando con los ejericios del video? desde ya muchas gracias
Muchas gracias por este video Miguel. Estaría bien hacer una lista videos con retos de programación típicos en entrevistas.
no estaria nada mal un curso de logica de programacion y pensamiento computacional por un docente con unas cualidades como las tuyas, con tu experiencia y capacidad de explicar algo de la manera que lo haces, entretenido al grano y con explicaciones que rellenan vacios de conocimiento. Seria un impulso bestial a la gente que esta empezando en el mundillo y se frustra por no poder escribir codigo por su cuenta sin apoyos externos
Midu que buen vídeo! En el segundo reto no sería más eficiente restar dígito a dígito el valor de ambas facciones que guardar ambas sumas? Y al final dependiendo de si es positivo o negativo es humano o zombie
Hola gracias por el video, que tema es el que usas?
videazo Midu muy bien explicado aportan mucho valor estos videos
Gracias!
¡Qué bien explicado! Ahora entiendo mucho mejor cómo resolver estos problemas.
Excelente!
hola, estoy estudia programación pero en kotlin y quería saber si para desbloquear el siguiente nivel es obligatorio entregarlo en js o hay alguna otra forma de desbloquearlo??
Pues yo para el primero, incluso pensando "a mano", sólo lo veía posible con 2 pasadas. Es decir, con 2 for.
Aunque lo haría de forma optimizada. O sea, no sería "todos con todos", sino 1 primer bucle exterior para recorrer cada posición. Y 1 bucle interior para ir recorriendo NO todos, sino SÓLO los elementos que queden a la derecha del elemento actual (ya que las anteriores posiciones ya las hemos sumado).
Tu forma la veo más complicada xD
Y ESTA es otra forma de mejorar. No sólo enfrentarnos nosotros a problemas, sino también ver las soluciones de otros, que igual no se nos hubiera ocurrido nunca.
Tengo una duda en el primer problema de las pociones dice, debes encontrar el índice de las dos primeras pociones que sumen exactamente el poder objetivo.
Y en el ejemplo con las
pociones: [10, 5, 2, 3, 7, 5]
Objetivo: 10
Espera que el resultado sea las posiciones [3,4] que serian los valores 7 y 3 respectivamente pero no deberían ser las primeras pociones
[1,5] cullos valores son 5 y 5 ya que la posición 1 esta antes que la 3?
pero te tienes que fijar la 2da poción, no la 1ra.
Una parte del ejercicio dice: "En el caso que haya más de una combinación posible, selecciona la combinación cuya SEGUNDA poción aparezca primero en la lista."
Esto Vale Oro ❤
Quise intentar el primer ejercicio por mi cuenta, pero creo que lo sobrepense demasiado, lo primero que se me ocurrio fue tratar de hacerlo con una busqueda binaria, y termine haciendo un monton de codigo, y cuando llegue a mi solucion, quise ver la tuya en el video, no pense que se podria resolver de manera tan sencilla, porque mi cabeza penso primero en lo mas complicado
16:28 midu no estaria bien lo que devuelve? porque si vemos la 3ra cond: "si hay más de una conbinación selecciones la segunda poción que aparece primero en la lista"
Gracias Midu, eres una motivación para la comunidad hispana ❤
Estupendooo, lo haré en python
el problema 3 me costo un poco entenderlo como lo explicaba midu, dejo aqui una explicacion alternativa usando una matriz no un array que puede ayudar a aclarar dudas,
Creamos una matriz dp del mismo tamaño que la matriz dream, donde dp[i][j] representa el nivel de peligro mínimo acumulado al llegar a la celda (i, j).
Inicializamos dp[0][0] con el valor de dream[0][0] porque es el punto de inicio.
Para cada celda (i, j) en la matriz:
Si estamos en la primera fila (es decir, i = 0), solo podemos venir desde la izquierda, así que dp[0][j] = dp[0][j-1] + dream[0][j].
Si estamos en la primera columna (es decir, j = 0), solo podemos venir desde arriba, así que dp[i][0] = dp[i-1][0] + dream[i][0].
Para el resto de las celdas, tomamos el mínimo entre venir desde la izquierda (dp[i][j-1]) o desde arriba (dp[i-1][j]), y sumamos el valor de dream[i][j].
Al final, el valor en la esquina inferior derecha (dp[n-1][m-1]) nos dará el nivel de peligro del camino más seguro.
Ya hice las dos primeras en unos 20 minutitos, esta muy bien y me costo encontrar mi error, lo unico malo de la pagina es que no te pone los console.logs (al menos que yo sepa) que son muy importantes para encontrar errores, a si que tuve que ejecutar el codigo en la consola algunas veces para hacerlos. El primero era mucho mas dificil que el segundo, que el segundo fue solo tardar en escribirlo y alguna cosita mas
Como me encantan estos videos
Grande midu!!! que playground usas 😊😊
Dios mio, gracias por subir el video
Hola, cual es la pagina de código online que usas?
gracias midu !
sigue sin gustarme js pero muy buena la explicación
Midu: "Voy a tomar agua que me estoy quedando sin voz "
*Coje el tarro
*Habla
*Suelta el tarro y no toma agua
jajjajajajajaj
jajajajajajaja
¿Por qué "lógica de programación" y no "algoritmia y estructuras de datos" (DSA, en inglés)?
eres el mejor
Que Grande!!! El mejor!!
Nunca hagan los hard de leetcode al empezar
esos son hard?
@@ulisesnava6834 No, son easy, pero en general es bueno empezar por este tipo de ejercicios e ir resolviendo de poco en poco. Igual si notas que este tipo de ejercicios te cuesta, hay todavía más fáciles, que son esos más fáciles los que recomendaría empezar para no desmotivarse.
@@Miguel_Castaneda como que ejercicio? Y en que pagina pasa que estoy recien empezando... saludos bro🙌🏽
@@hermano1171 Los ejercicios de Hackerrank, tienen secciones para todos, en general los ejercicios van relacionados con estructura de datos y algoritmos, saludos!
La de lis sospechosos se puede resolver con una expresión regular agregando ^ al principio, reemplazando ~ por ‘.’ y creándola con ‘i’ como segundo argumento
Esa solución la mostramos en el vídeo. :)
Jeje genial❤🎉
porque no se usa tanto el while?
Por favor, curso de Svelte 5 😇
La logica requiere de mucha practica y practica
como se llama ese tema que tienes midu? 10:00
RunJS
mi puntuación es muy baja, como mejoro mi código
Uff al fin, gracias midu te mereces un besito abajito ❤
Gracias a ti!
🤨🏳️🌈?
El reto 2 me dio Complejidad cognitiva: 24
me cagué de risa porque midu ponia como ejemplo exagerado de 12 complejidad cognitiva y yo saqué el doble XDDDD
y sí el código está recontra mejorable pero lo primero es que funciones y luego lo mejoro :p
Buen diseño tiene la page
Gracias!
me gustó
que pagina es esa que esta usuando para programar?
Es un programa de escritorio, se llama RunJS
así hice el primero (yo utilizo el pensamiento computacional casi siempre llego a la solución parecidas a estas )
function devolverSuma(lista, entero){
let posicion=null;
stop:
for(let i=0; i
Igual está mal jaja
@@EmmaGModesto en q esta mal?
@@eliasortega8681hay algo que se llama complejidad asintótica, es para ver qué desempeño tendría tu algoritmo tendría tu algoritmo si la entrada de datos fuera muy grande, la tuya es O(n^2) y complejidad de memoriaO(1), la del video es O(n) en memoria y tiempo, es un poco difícil de explicar en un comenrtario, pero si buscas del tema y resuelves varios problemas aprendes a calcularla tú mismo
esta bueno, pero lastima que no se pueden hcaer con otro lenguajes de programacion como java o python
Que sad que la web no tenga Python tuve que ponerme con mucho trabajo a pasarlo a js
Programador con casi 3 años de experiencia habiendo trabajado para empresas en EEUU y se me complico el ejercicio 1 aun que logre resolverlo pero no funciona al 100% en mi caso lo hice con dart. Soy una vergüenza
Primer comment
A usar el coco 🥥...
tempranoooo!!!
yo habia pensado un bucle anidado 😆😆
Clave hacer TDD para resolverlos!
el ejercicio #1 es el two sum
Juraría que lo digo en el propio vídeo...