Resolvendo problemas no HackerRank: Analisando o orçamento.
Altencir Junior
Posted on March 1, 2023
Olá, seja bem vindo a mais uma etapa do Resolvendo problemas no Hacker-Rank,nessa sessão iremos analisar alguns produtos e ver por meio do orçamento fornecido, podemos comprá-los. Vejamos como separar isso.
Eletronics Shop -
Nosso problema está em uma loja de eletrônicos. Queremos comprar: um Keyboard(teclado) e um USB Drive(pen drive), entretanto temos um orçamento pré limitado e existem diferentes valores para cada um dos dois produtos.
O objetivo é que caso a compra passe do valor de orçamento, seja devolvido um input -1. Caso não passe, devemos pegar a maior possibilidade dentro do orçamento permitido.
- int keyboards[n]: os preços dos teclados.
- int drives[m]: os preços dos drives.
- int b: o orçamento geral para compras.
- Return int: o máximo que pode ser gasto, ou caso não seja possível comprar os dois itens, -1
Vejamos um exemplo para máxima compreensão.
b = 60
keyboard = [50,40,60]
drives = [5,8,12]
Podemos comprar um keyboard [40] e um drives de [12], ou um keyboard[50] e um drives de [8]. Caso seja keyboard de [60], retornará -1, pois menos um produto pode ser levado visto que chegamos a nosso orçamento limite.
Vejamos a resolução:
function getMoneySpent(keyboard,drives, b){
let maximumValue = -1;
for (let keyboardOptions of keyboard){
for (let drivesOption of drives){
const finalValue = keyboardOptions + drivesOption;
if(finalValue <= b && finalValue > maximumValue){ maximumValue = finalValue }
}
}
return maximumValue
}
O input de resultado desse caso será:
10 2 3 // orçamento,modelos de keyboard,modelos de drives
3 1 //Keyboards: primeiro preço, segundo preço
5 2 8 // Drives: primeiro,segundo e terceiro preço
input de resultado: 9
Temos também outro input fornecido de resultado, onde nos é fornecido o valor -1:
5 1 1 // orçamento,modelos de keyboard,modelos de drives
4 //Keyboards:preço
5 // Drives:preço
input de resultado: -1
Mais uma vez, finalizamos o problema de hoje, até a próxima resolução da série: Resolvendo problemas no HackerRank
Posted on March 1, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.