Olá, seja bem vindo a mais um Resolvendo problemas no HackerRank: No caso de hoje, vamos ajudar Taum a dar um presente para seu amigo analisando custos. Vejamos mais informações com a explicação detalhada e sua resolução.
Taum and B'day -
Taum está planejando comemorar o aniversário de seu amigo, Diksha. Existem dois tipos de presentes que Diksha deseja de Taum: um é preto e o outro é branco. Para fazê-la feliz, Taum tem que comprar presentes b
pretos e presentes w
brancos.
- O custo de cada presente preto é de
bc
unidades. - O custo de cada presente branco é de
wc
unidades. - O custo para converter um presente preto em um presente branco ou vice-versa é em
z
unidades.
Vejamos o código a seguir:
function taumBday(b, w, bc, wc, z) {
// Write your code here
b = BigInt(b);
w = BigInt(w);
bc = BigInt(bc);
wc = BigInt(wc);
z = BigInt(z);
if (bc >= wc + z){
return w*wc + b*(wc+z)
}
else if (wc >= bc + z){
return b*bc + w*(bc+z)
}
else{
return b*bc + w*wc
}
}
Este é um código JavaScript que define a função taumBday que recebe cinco parâmetros: b e w, que são as quantidades de presentes a serem comprados para pessoas do sexo masculino e feminino, respectivamente; bc e wc, que são os preços unitários dos presentes para homens e mulheres, respectivamente; e z, que é o preço unitário adicional que deve ser pago para converter um presente para o sexo oposto.
O primeiro passo da função é converter todos os parâmetros para o tipo BigInt, o que permite que o código lide com números muito grandes. Em seguida, a função verifica se o preço unitário dos presentes para homens é maior ou igual ao preço unitário dos presentes para mulheres mais o custo adicional z. Se isso for verdadeiro, a função retorna o custo mínimo para comprar presentes para todos, comprando presentes para as mulheres pelo preço unitário wc e presentes para os homens pelo preço unitário wc+z.
Caso contrário, a função verifica se o preço unitário dos presentes para mulheres é maior ou igual ao preço unitário dos presentes para homens mais o custo adicional z. Se isso for verdadeiro, a função retorna o custo mínimo para comprar presentes para todos, comprando presentes para os homens pelo preço unitário bc e presentes para as mulheres pelo preço unitário bc+z. Se nenhuma dessas condições for satisfeita, a função retorna o custo mínimo para comprar presentes para todos, comprando presentes para homens e mulheres pelos preços unitários bc e wc, respectivamente.
O resultado será o seguinte:
5
10 10
1 1 1
5 9
2 3 4
3 6
9 1 1
7 7
4 2 1
3 3
1 9 2
input:
20
37
12
35
12
Assim, concluímos mais um Resolvendo problemas no HackerRank: até a próxima.
Top comments (0)