No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Resoluci贸n de problemas y live coding

9/22
Recursos

Aportes 11

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

Live coding

  1. Muestra que piensas en el problema y analiza la situaci贸n
  2. Piensa en voz alta. Te puede ayudar para que el entrevistador te de una mano si nota que est谩s yendo por otro camino
  3. No te des por vencido.Busca soluciones.驴C贸mo te enfrentas a problemas? Si no logras resolver el ejercicio la idea es que puedas demostrar que sabes c贸mo manejar esas situaciones dif铆ciles. Aprender a manejar la frustraci贸n, trabajar en soft skills

Resoluci贸n de problemas

Resolver problemas con codigo. Ejemplos de problemas:

  • Cu谩ntas veces se repite una palabra en una frase?
  • Elimina los datos repetido de un array
  • Mirar si hay dos n煤meros que sumen un n煤mero determinado
  • Saber si una palabra es pal铆ndromo
  • Invertir una frase

Adicional

  • Manipulaci贸n del DOM
  • Mostrar info de un JSON
  • Slider
  • Petici贸n a API p煤blico. Ej. Giphy
  • form que guarde local storage

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('');
}

https://github.com/public-apis/public-apis apis p煤bilcas para aplicar a sus practicas

Para practicar la resoluci贸n de problemas a m铆 me gusta mucho usar estas dos p谩ginas: HackerRank y LeetCode

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!!! 馃捇鈱

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)

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"));