Menu
Coddy logo textTech

Co kupić

Część sekcji Podstawy ścieżki Swift w Coddy. Lekcja 86 z 86.

challenge icon

Wyzwanie

Łatwy
Napisz funkcję whatToBuy, która przyjmuje itemNames, itemPrices i budget, a zwraca tablicę nazw przedmiotów, które można kupić w ramach budżetu.

Przechodź kolejno przez przedmioty. Dla każdego przedmiotu sprawdź, czy dodanie jego ceny do bieżącej sumy nie spowoduje przekroczenia budżetu. Jeśli nie, dodaj nazwę przedmiotu do listy zakupów i zaktualizuj sumę. Jeśli przedmiot spowodowałby przekroczenie budżetu, pomiń go i sprawdzaj dalej pozostałe przedmioty.

Logika:

  1. Zacznij od bieżącej sumy wynoszącej 0.0 i pustej tablicy wynikowej
  2. Przejdź pętlą przez każdy przedmiot, używając jego indeksu
  3. Jeśli bieżąca suma plus cena bieżącego przedmiotu jest mniejsza lub równa budżetowi, dodaj nazwę przedmiotu do wyniku i zaktualizuj bieżącą sumę
  4. Jeśli dodanie przedmiotu spowodowałoby przekroczenie budżetu, pomiń go i przejdź do następnego przedmiotu
  5. Zwróć tablicę nazw przedmiotów, na które wystarczy pieniędzy

Parametry:

  • itemNames ([String]): Tablica nazw przedmiotów
  • itemPrices ([Double]): Tablica odpowiadających im cen (tej samej długości co itemNames)
  • budget (Double): Maksymalna kwota, którą można wydać

Zwraca: Tablicę nazw przedmiotów, na które wystarczy pieniędzy w ramach budżetu, w kolejności, w jakiej występują ([String])

Przykład:

// 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)

Spróbuj swoich sił

func whatToBuy(itemNames: [String], itemPrices: [Double], budget: Double) -> [String] {
    // Napisz kod tutaj
}

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Swift