Menu
Coddy logo textTech

Ne Almalı

Coddy'nin R Journey'sinin Temeller bölümünün bir parçası — ders 78 / 78.

challenge icon

Görev

Kolay

İki bağımsız değişken alan what_to_buy adında bir fonksiyon oluşturun: budget (sayısal bir değer) ve prices (öğe fiyatlarından oluşan isimlendirilmiş bir vektör). Fonksiyon, fiyatı bütçeye eşit veya bütçeden küçük olan tüm öğelerin adlarını içeren bir karakter vektörü döndürmelidir.

Eğer hiçbir öğe uygun fiyatlı değilse, character(0) kullanarak boş bir karakter vektörü döndürün.

Aşağıdaki girdileri alacaksınız:

  1. Bütçe miktarı (bir sayı)
  2. Virgülle ayrılmış öğe adları listesi (örneğin, apple,banana,steak,bread)
  3. Virgülle ayrılmış karşılık gelen fiyatlar listesi (örneğin, 2,1,15,3)

İsimlendirilmiş bir fiyat vektörü oluşturmak için girdileri ayrıştırın, fonksiyonunuzu çağırın ve sonucu yazdırın. Döndürülen karakter vektörünü görüntülemek için print() kullanın.

Örneğin, girdi şu şekildeyse:

5
apple,banana,steak,bread
2,1,15,3

Çıktı şu olmalıdır:

[1] "apple"  "banana" "bread"

Eğer girdi şu şekildeyse:

10
laptop,phone,tablet
999,599,399

Çıktı şu olmalıdır:

character(0)

İpuçları:

  • Virgülle ayrılmış dizeleri vektörlere bölmek için strsplit(input, ",")[[1]] kullanın
  • Fiyat dizelerini sayılara dönüştürmek için as.numeric() kullanın
  • İsimlendirilmiş bir vektör oluşturmak için names(prices) <- item_names kullanın
  • Uygun fiyatlı öğe adlarını çıkarmak için names() ile mantıksal indeksleme kullanın

Kendin dene

# Girdiyi oku
con <- file("stdin", "r")
budget <- as.numeric(suppressWarnings(readLines(con, n = 1)))
item_names_input <- suppressWarnings(readLines(con, n = 1))
prices_input <- suppressWarnings(readLines(con, n = 1))
close(con)

# Girdileri ayrıştır
item_names <- strsplit(item_names_input, ",")[[1]]
price_values <- as.numeric(strsplit(prices_input, ",")[[1]])

# Fiyatların adlandırılmış bir vektörünü oluştur
prices <- price_values
names(prices) <- item_names

# YAPILACAK: what_to_buy fonksiyonunuzu aşağıya yazın
# Fonksiyon, bütçe ve fiyatları argüman olarak almalıdır
# ve satın alınabilir öğe adlarından oluşan bir karakter vektörü döndürmelidir


# Fonksiyonu çağır ve sonucu yazdır
result <- what_to_buy(budget, prices)
print(result)

Temeller bölümündeki tüm dersler