Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

120
Visualizações
¿Cómo devolver una cadena hecha de caracteres en los índices?

Siento que mi solución es demasiado complicada. Si alguien puede sugerir uno más fácil, sería genial.

Es un desafío del bate de codificación. La tarea es:

Dada una cadena, devuelve una cadena hecha de los caracteres en los índices 0,1, 4,5, 8,9 ... de modo que "gatitos" produzca "kien".

Ejemplos

 altPairs('kitten') → kien altPairs('Chocolate') → Chole altPairs('CodingHorror') → Congrr

Mi solución (funciona bien, pero parece demasiado amateur):

 function altPairs(str) { // convert the string to an Array let newArr = str.split("") // create two emtpy Arrays to fill in with the characters of certain indexes from original Array // myArrOne will contain indexes 0,4,8... let myArrOne = []; // myArrTwo will contain indexes 1,5,9... let myArrTwo = []; // Loop through the original Array 2 times to push elements into myArrOne and myArrTwo for (let i = 0; i < newArr.length; i += 4) { myArrOne.push(newArr[i]) } for (let i = 1; i < newArr.length; i += 4) { myArrTwo.push(newArr[i]) } // create new Array. Loop through myArrTwo and myArrOne and push element to myArrtThree let myArrThree =[]; for (let i = 0; i <= myArrOne.length && i <= myArrTwo.length; i++){ myArrThree.push(myArrOne[i], myArrTwo[i]) } // myArrThree to a new string with join method let myString = myArrThree.join('') return myString }
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Un enfoque conciso sería usar una expresión regular: hacer coincidir y capturar 2 caracteres, luego hacer coincidir hasta 2 caracteres más y reemplazarlos con los 2 caracteres capturados. Vuelva a colocar sobre toda la cadena.

 const altPairs = str => str.replace( /(..).{0,2}/g, '$1' ); console.log(altPairs('kitten'))// → kien console.log(altPairs('Chocolate'))// → Chole console.log(altPairs('CodingHorror'))// → Congrr

  • (..) - unir y capturar 2 personajes (primer grupo de captura)
  • .{0,2} - coincidencia de cero a dos caracteres

Reemplazar con $1 reemplaza con el contenido del primer grupo de captura.

about 4 years ago · Juan Pablo Isaza Relatório

0

Esta solución selecciona todos los caracteres en una iteración.

 const altPairs = str => { let result = ''; for(let i = 0; i < str.length; i += 4){ result += str.substring(i, Math.min(str.length, i+2)); } return result; }; console.log( altPairs('kitten') ); console.log( altPairs('Chocolate') ); console.log( altPairs('CodingHorror') );

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda