DEV Community

Altencir Junior
Altencir Junior

Posted on

Resolvendo problemas no HackerRank: Maçãs e Laranjas,dentro e fora de casa!

Continuando a série: Resolvendo problemas no HackerRank , hoje nós trataremos de uma resolução um pouco mais complicada. Cada desafio, estamos aumentando a dificuldade. Aliás,já existem alguns artigos anteriores que vale a pena dar uma olhada bem no meu perfil. Vamos iniciar!!!

Apple and Orange -

No episódio de hoje, nos é ordenado que façamos uma análise da situação e dependendo do resultado dar valorer diferentes.

Existem duas árvores: A e B. A representa a árvore com maçãs e B a árvore com laranjas. A está a esquerda (<-), e B está a direita(->). Entre A e B existe uma casa, e perto dela tem algumas frutas jogadas no chão e outras até na área da casa. Para entender mais, veja:

Image description

Caso alguma fruta esteja na área da casa, devemos contar tais,veja a resolução:

function countApplesAndOranges(s, t, a, b, apples, oranges) {

    // mnc = macas no chao, lnc = laranjas no chao;
   let mnc = 0, lnc = 0;

   for (let i = 0; i < apples.length; i++) {
       if ((a + apples[i]) >= s && (a + apples[i]) <= t) mnc++;
   }
   for (let i = 0; i < oranges.length;i++) {
       if ((b + oranges[i]) >= s && (b + oranges[i]) <= t) lnc++;
   }
    console.log(mnc)
    console.log(lnc)    

}
Enter fullscreen mode Exit fullscreen mode

A posição da árvore de maçãs é representada por A e a posição da árvore de laranjas é representada por B. As posições das frutas caídas são representadas por arrays apples e oranges.

Nesse caso, a função usa dois loops for para percorrer os arrays apples e oranges e verifica se a posição da fruta caída está dentro da área determinada pelos parâmetros s e t que é o da casa. Se estiver, adicionaa a contagem em maçãs ou laranjas.

Finalmente, o número de maçãs e laranjas caídas é impresso usando o console.log que é igual a 1,1.

Com isso,finalizamos mais um desafio. Até a próxima!!

Top comments (0)