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 com os nomes dos itens que podem ser comprados dentro do orçamento.

Itere pelos itens em ordem. Para cada item, verifique se adicionar o seu preço ao seu 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 exceder o orçamento, pule-o e continue verificando os itens restantes.

Lógica:

  1. Comece com um total acumulado de 0.0 e um array de resultado 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 exceder o orçamento, pule-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 de preços correspondentes (mesmo comprimento que itemNames)
  • budget (Double): O valor máximo que pode ser gasto

Retorna: Um array de nomes de itens que podem ser pagos 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
// Result: ["Apple", "Bread"]
// (Apple custa 2.0, Bread custa 3.5, o total é 5.5 que está dentro do orçamento)
// (Milk faria o total ser 9.5, o que excede 6.0, então ele é pulado)

Experimente você mesmo

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

Todas as lições de Fundamentos