Menu
CoddyTech

Что купить

Часть раздела Основы путешествия по Swift на Coddy. Урок 86 из 86.

challenge icon

Задание

Легко
Напиши функцию whatToBuy, которая принимает itemNames, itemPrices и budget и возвращает массив названий товаров, которые можно купить в пределах бюджета.

Перебирай товары по порядку. Для каждого товара проверяй, не превысит ли общая сумма расходов бюджет, если добавить к ней его цену. Если не превысит, добавь название товара в список покупок и обнови общую сумму. Если товар превысит бюджет, пропусти его и продолжай проверять остальные товары.

Логика:

  1. Начни с общей суммы расходов 0.0 и пустого массива результатов
  2. Перебери все товары по индексу
  3. Если общая сумма расходов плюс цена текущего товара меньше или равна бюджету, добавь название товара в результат и обнови общую сумму расходов
  4. Если добавление товара превысит бюджет, пропусти его и перейди к следующему товару
  5. Верни массив названий товаров, которые можно купить

Параметры:

  • itemNames ([String]): Массив названий товаров
  • itemPrices ([Double]): Массив соответствующих цен (той же длины, что и itemNames)
  • budget (Double): Максимальная сумма, которую можно потратить

Возвращает: Массив названий товаров, которые можно купить в пределах бюджета, в том порядке, в котором они указаны ([String])

Пример:

// itemNames: ["Apple", "Bread", "Milk"]
// itemPrices: [2.0, 3.5, 4.0]
// budget: 6.0
// Result: ["Apple", "Bread"]
// (Apple costs 2.0, Bread costs 3.5, total is 5.5 which is within budget)
// (Milk would make total 9.5, which exceeds 6.0, so it's skipped)

Попробуйте сами

func whatToBuy(itemNames: [String], itemPrices: [Double], budget: Double) -> [String] {
    // Напишите код здесь
}

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Swift