DEV Community

Jessilyneh
Jessilyneh

Posted on • Edited on

4 1 1 1 1

Resolvendo meu primeiro desafio no HackerRank

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 
}
Enter fullscreen mode Exit fullscreen mode

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;
Enter fullscreen mode Exit fullscreen mode

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 :)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs