Menu
Coddy logo textTech

O Que Comprar

Parte da seção Fundamentos do Journey de Swift da Coddy. Lição 86 de 86.

challenge icon

Desafio

Fácil
Escreva uma função whatToBuy que receba itemNames, itemPrices e budget e retorne um array de nomes de itens que podem ser comprados dentro do orçamento.

Percorra os itens na ordem. Para cada item, verifique se adicionar seu preço ao total acumulado permaneceria dentro do orçamento. Se sim, adicione o nome do item à sua lista de compras e atualize o total. Se um item ultrapassar o orçamento, ignore-o e continue verificando os itens restantes.

Lógica:

  1. Comece com um total acumulado de 0.0 e um array de resultados vazio
  2. Percorra cada item pelo índice
  3. Se o total acumulado mais o preço do item atual for menor ou igual ao orçamento, adicione o nome do item ao resultado e atualize o total acumulado
  4. Se adicionar o item ultrapassar o orçamento, ignore-o e continue para o próximo item
  5. Retorne o array de nomes de itens acessíveis

Parâmetros:

  • itemNames ([String]): Array de nomes de itens
  • itemPrices ([Double]): Array dos preços correspondentes (com o mesmo tamanho de itemNames)
  • budget (Double): O valor máximo que pode ser gasto

Retorno: Um array de nomes de itens que podem ser comprados dentro do orçamento, na ordem em que aparecem ([String])

Exemplo:

// itemNames: ["Apple", "Bread", "Milk"]
// itemPrices: [2.0, 3.5, 4.0]
// budget: 6.0
// Resultado: ["Apple", "Bread"]
// (Apple custa 2.0, Bread custa 3.5, o total é 5.5 que está dentro do orçamento)
// (Milk faria o total 9.5, que excede 6.0, então é pulado)

Experimente você mesmo

func whatToBuy(itemNames: [String], itemPrices: [Double], budget: Double) -> [String] {
    // Escreva o código aqui
}

Todas as lições de Fundamentos

Pratique por conta própria: Playground de Swift