Esta série não tem o objetivo tão didático quando os demais conteúdos, é mais para eu registrar minha experiência nos estudos de algoritmos. Vão ser textos mais curtos inicialmente. Como já falei em outros posts, como eu não uso mais X/Twitter e nem Bluesky, vou deixar tudo que postaria lá, por aqui - inclusive os Learning in Public.
Se você nunca ouviu falar, Hacker Rank é uma plataforma com desafios de programação que servem tanto para se preparar para entrevistas técnicas que pedem testes de algoritmo e estrutura de dados, quanto para se divertir (sim, tem gente que gosta e eu gosto também) e competir com outros devs que também gostam de resolver problemas.
Eu me interessei de começar a estudar esses testes com dedicação este ano, porque é algo que sempre adiei e, embora eu saiba que não vai ser tão útil neste momento no meu trabalho (confiem em mim, eu sei do que estou falando e, a menos que vocês trabalhem comigo, se não conhecem o contexto do que eu faço, vocês não podem dizer que eu to errada haha só aceitem meus motivos sem querer me ensinar ou corrigir) acho que é a hora de aprofundar.
Eu vou tentar publicar sempre que for fazer um novo teste.
1 - function solveMeFirst
O primeiro desafio é bem mais amigável do que a primeira vez que eu tive contato com a plataforma, uns 9 anos atrás quando ainda estava estudando. Achei legal porque assim tiram a imagem de "isso é impossível de ser feito".
Para resolver esse primeiro desafio, foi preciso apenas retornar a soma de duas variáveis:
function solveMeFirst(a, b) {
return a+b // essa foi a linha que eu adicionei
}
E pronto, estava resolvido.
Porém, embora esse desafio foi super fácil, eu percebi que estava bem fraca em Node.js porque já faz mais de um ano que eu trabalho apenas com Angular e Java, li o restante do código do desafio e não entendi foi é nada hahaha Como eu estou atuando com foco no frontend, não vou me culpar e cobrar, mas sim apenas estudar Node.js para relembrar as coisas porque vou precisar, nos próximos.
Se você é backend provavelmente não precisa passar pelo mesmo, mas para outras pessoas que assim como eu atuam mais forte no frontend, é uma realidade necessária para colocar no plano de estudo: sim, você vai ter que aprender ou relembrar backend (No meu caso, Node.js)
Quando eu vi esse trecho aqui, logo no começo do código:
process.stdin.resume();
process.stdin.setEncoding('ascii');
var input_stdin = "";
var input_stdin_array = "";
var input_currentline = 0;
Eu tive essa certeza haha entendi o que estava sendo feito porque é possivel entender sim, mas não entendi a forma que estava sendo feito. Aqui eu fui lendo sobre o modulo process no Node.js, fui olhando a documentação e pronto, era um trecho de código que lê dois números inteiros a partir da entrada padrão e, em seguida, calcula a soma desses números.
Caso não conheça, tem um conteúdo bem completo sobre Node.js no próprio site oficial, e caso você não fale inglês, como está em texto, fica mais fácil de traduzir. Se assim como eu você não lembra o que o stdin.resume faz, dá uma olhadinha na doc, que ela vai ser sua melhor amiga, ou vai acompanhando os módulos educacionais no site da Node.js
Por hoje é isso, pessoal! Vou continuar meus estudos e acho que quando sair dos desafios super fáceis, publico novamente :)
Top comments (0)