Menu
Coddy logo textTech

Что купить

Часть раздела Основы путешествия по 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] {
    // Напишите код здесь
}

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