Dificuldades com Algoritmos e Lógica
Acabo de completar a trilha de algoritmos básicos em JS do FreeCodeCamp e enquanto alguns consegui resolver simples e rapidamente o último me causou um pouco de dificuldades e só consegui resolver depois de ler um passo a passo, consegui pensar em algumas maneiras de resolver, porém ao codar não chegava na resposta e o problema era lógica mesmo, como foi o processo de aprendizado de vocês? Tiveram muitas dificuldades? Tem alguma dica?
Segue abaixo o desafio e minha resposta.
Chunky Monkey Write a function that splits an array (first argument) into groups the length of size (second argument) and returns them as a two-dimensional array.
function chunkArrayInGroups(arr, size) {
let parentArray = [];
for (let i = 0; i < arr.length; i += size) {
parentArray.push(arr.slice(i, i + size));
}
return parentArray;
}
chunkArrayInGroups(["a", "b", "c", "d"], 2);
Olha acredito que tem que usar determinadas técnicas pra ir aprimorando na resolução dos algoritmos. Uma que uso pra resolver problemas é o teste de mesa
, fazendo no papel mesmo, anotando os valores que cada variavel recebe a cada execução do seu código.
Outra maneira é usar um debugger
, de acordo com IDE que você utilizar, essa é uma boa maneira de saber o que ta acontecendo em tempo real no seu código.
Isso é normal quando iniciamos com lógica, com o tempo que você for fazendo mais exercícios e aprendendo mais estruturas, você vai ficando mais rápido e escreve de uma forma mais eficiente.
Eu recomendo você continuar fazendo esses exercícios de lógica, os exercícios que você não conseguir resolver, pesquisar a solução do problema e pensar em como e porquê aquele dev pensou de tal modo.
A Lógica é uma das partes mais importantes da programação, e isso é quase um facto, senão um... No início todos temos dificuldades na lógica, e isso é normal. Algo que me ajudou bastante na hora perceber como tudo funcionava e a aprimorar a minha lógica foi o facto de começar a fazer o Debug
do meu código, assim conseguia perceber o que acontecia paço a paço, e outra das coisas que me ajudou bastante na hora de aprender a lógica foi por exemplo ao invés de usar funções já prontas para fazer algo, eu tentava replicar as mesmas, por exemplo o Split
de uma String
para um Array
, e outro foi entrar em jogos de programação, obvio não aqueles que te ensinam a linguagem mas sim aqueles que te dão desafios de lógica para tu resolveres, por exemplo: Codin Game e o Code Wars