DEV Community

Altencir Junior
Altencir Junior

Posted on

Resolvendo problemas no HackerRank: O dia perfeito para ver filmes

Olá, seja bem vindo a mais um Resolvendo problemas no HackerRank: no problema de hoje,vamos ajudar Lily a encontrar um dia perfeito para ir ao cinema,baseado em alguns dias com termos específicos. Vejamos agora.

Beautiful Days at the Movies -

Conhecemos nesse problema, Lily que gosta de brincar com números inteiros. Ela criou um novo jogo onde determina a diferença entre um número e seu reverso. Nesse jogo, pegamos o um número e o subtraímos pelo seu inverso, depois calculamos sua diferença, ela quer aplicar essa regra para o dia que irá ver um filme,querendo encontrar a data para os dias perfeitos de ir ao cinema que consistem em:

  • Pegar um número inteiro
  • Subtrair o número inteiro por seu inverso
  • Dividir o número pelo valor divisível por k

Ela nos passa os seguintes parâmetros:

  • [i] é começo dos dias em número
  • [j] sua finalização
  • [k] o divisor

Vejamos um exemplo abaixo:

20 23 6

20-02/6 = 3;
21-12/6 = 1.5;
22-22/6 = 0;
23-32/6 =1.5

as opções 20 e 22 são os "dias perfeitos".
Enter fullscreen mode Exit fullscreen mode

Vejamos agora o execução do código:

//i= inicio do intervalo de dias para o cinema
//j= final do intervalo, numeros que pegam de inicio [i] ate [j] seriam os dois primeiros pares de numeros apresentados, sendo asssim:

 // 3 parametrs:[25],[27],[4]. Temos os dias 25,26 e 27  desses pegaremos todas as opcoes e iremos pegar seu numero e subtrair por seu inverso dividio pelo numero 4(terceiro parametro),ficando:
//25- 52/4, 26-62/4 e 27-72/4.

//  


function beautifulDays(i, j, k) {
    // Write your code here
  let count = 0;

  for(let start = i; start <= j; start++){
const reverse = parseInt(start.toString().split("").reverse().join(""))

    if (Math.abs(start - reverse) % k === 0) count++;
    }
  return count;

}
Enter fullscreen mode Exit fullscreen mode

Nesse código criamos uma variável count que irá pegar as mesmas regras anteriores ditas, e no if onde pegaremos o valor absoluto e subtrair os valores menos o seu reverso e caso o resto de sua divisão por k seja 0, adicione +1 a count.

O resultado será:

20 23 6

//2 opções disponíveis 
Enter fullscreen mode Exit fullscreen mode

Com isso, concluímos mais um desafio do Resolvendo problemas no HackerRank: . Até a próxima!!!

Top comments (0)