Resolución de problemas y live coding
Clase 9 de 22 • Curso para Conseguir Trabajo como Frontend Developer
Contenido del curso
Clase 9 de 22 • Curso para Conseguir Trabajo como Frontend Developer
Contenido del curso
Catherine Mejias
Javier Salcedo Salgado
Luis Alejandro Vera Hernandez
Felipe Bernardo González Barranco
Julian David Alzate Cuervo
Edward Rodríguez
Luis Esteban Ramírez
Juan Gui Arenas
Ivan Martinez
Juan Gui Arenas
Estefany Aguilar
Julio Cesar Godinez
Juan Omar Palma álvarez
Randy Ochoa
Randy Ochoa
Randy Ochoa
Valentino Patané
Max Andy Diaz Neyra
Andres Prieto
Live coding
Resolución de problemas
Resolver problemas con codigo. Ejemplos de problemas:
Adicional
Les traigo la solución a los problemas que la profesora puso como ejemplos. . Contar las veces que se repite una palabra en una frase.
function counterWordInPhrase (word, phrase) { const phraseArray = phrase.split(' '); return phraseArray.reduce((counter, elemt) => { if(elemt.toLowerCase() === word.toLowerCase()){ return counter + 1 } return counter }, 0) }
Eliminar los datos repetidos de un array.
function removeDuplicateData(array) { return array.filter((elemt, index) => { return array.indexOf(elemt) === index; }) }
Determinar si existen dos números de un array que sumen un número determinado.
function twoNumberAddNumber(array, num){ const newArray = array.sort((a, b)=> a - b) .filter(elemt => elemt < num ); let result = false; for(let i = 1; i < newArray.length ; i++) { if (newArray[0] + newArray[i] === num) { result = true; break; } if(i === newArray.length - 1 ){ newArray.splice(0, 1) i = 0; } } return result; }
Saber si una palabra es Palíndromo.
function isPolindromo(string) { const newString = string.split('').reverse().join('') if (string.toLowerCase() === newString.toLowerCase()) { return true; } return false; }
Invertir una frase.
function reverseSentence(sentence) { return sentence.split('').reverse().join(''); }
Que genial brother, ya casi que le puedo entender lo que hiciste, me falta probarme para también poder aplicar soluciones
:clap: :clap: :clap: :clap:
https://github.com/public-apis/public-apis apis púbilcas para aplicar a sus practicas
Gracias!
Para practicar la resolución de problemas a mí me gusta mucho usar estas dos páginas: HackerRank y LeetCode
gracias :)
Muy buen punto, es muy diferente resolver un problema en nuestras casas a las 2am estando en nuestro cuarto con nuestra pc mientras aprendemos... peeero muy diferente es hacerlo frente a otra persona, midiendonos el tiempo, haciendo preguntas, en una oficina a media mañana!!! 💻⌛
Hola, ¿Tengo una duda en la parte de resolucion de problemas seria poder hacer un diagrama de flujo, algoritmo o en UML plasmar como seria la solucion ??
Hola, Juan ! Un algoritmo 😊 Diseñas los pasos, explicas la solución que tienes en mente y a codear.
Interesante
que desagradable es encontrar en los comentarios copy paste de aportes del curso para parecer más inteligentes,
Mis solucion para ver cuantas palabras tiene una frase:
const palabrasRepetidas = (frase, palabra) => { frase = frase.toLowerCase().split(" ") palabra = palabra.toLowerCase() let coincidencias = 0 frase.map((a) => { if(a === palabra) { coincidencias++ } }) console.log(`La palabra "${palabra}" se repite ${coincidencias} en la frase.`) } const frase = "En la casa de mi tia viven mi tia mis primos y el esposo de mi tia" const palabra = "tia" palabrasRepetidas(frase, palabra)
Solucion para ver si una palabra es palindromo:
const palidromo = (palabra) => { palabra = palabra.toLowerCase() const palabraVolteada = palabra.split("").reverse().join("") if(palabra === palabraVolteada) { console.log("Es un palindromo") } else { console.log("NO es un palindromo") } } palidromo("Oro") palidromo("Cono")
Funciona para invertir una frase:
const fraseInvertida = frase => { frase = frase.toLowerCase().split(" ").reverse().join(" ") console.log(frase) } const frase = "Cosas que pasan en el amor" fraseInvertida(frase)
EJEMPLOS PARA PRACTICAR RESOLUCIÓN DE PROBLEMAS
Dejo mi soluciones de los problemas:
function counterWordInPhrase (word, phrase = '') { const phraseArray = phrase.split(' ') return phraseArray.reduce((previousValue,currentValue)=>{ if(currentValue === word) return previousValue + 1 else return previousValue },0); } function removeDuplicateData(array=[]){ return array.filter((item, index)=>index===array.indexOf(item)) } function twoNumberAddNumber(array=[],num){ let condition = false; let index = 0; while(!condition && array.length > index){ const aux = array const removed = parseInt(aux.splice(index,1)); const sumArray = aux.map((item)=>item+removed) condition = sumArray.includes(num) index++; } return condition; } function isPolindromo(word = ''){ const wordToLowerCase = word.toLowerCase() return reverseSentence(wordToLowerCase) === wordToLowerCase } function reverseSentence(sentence=''){ return sentence.split('').reverse().join('') }
Me pico por hacer los ejercicios de Teff...
Contar una palabra en una frase
const countWords = (word, sentence) => sentence .split(" ") .reduce((total, item) => (item === word ? (total += 1) : total), 0); //console.log(countWords("world", "hello world"));
Eliminar repetidos
const clean = (arr) => new Set(arr); //console.log(clean([1, 1, 2, 3, 3]));
Ver si la en una serie de números se puede sumar un valor
const checkSum = (arr, possibleValue) => { let valueExists = false; arr.forEach((currentValue) => { arr.forEach((possibleSum) => { if (currentValue + possibleSum === possibleValue) { valueExists = true; } }); }); return valueExists; }; //console.log(checkSum([1, 2, 3, 4, 5], 3));
Checar si una frase o palabra es un palindromo
const isPalindrome = (sentence) => { const palindrome = Array.from(sentence.replaceAll(" ", "")); let check = true; palindrome.forEach((letter, index) => { if (letter !== palindrome.reverse()[index]) { check = false; } }); return check; }; //console.log(isPalindrome("today")); //console.log(isPalindrome("mom"));
Darle la vuelta a una frase
const reverseSentense = (sentence) => { return Array.from(sentence).reverse().join(""); }; //console.log(reverseSentense("Never stop learning"));