Menu
Coddy logo textTech

Quoi acheter

Fait partie de la section Fondamentaux du Journey R de Coddy — leçon 78 sur 78.

challenge icon

Défi

Facile

Créez une fonction appelée what_to_buy qui prend deux arguments : budget (une valeur numérique) et prices (un vecteur nommé de prix d'articles). La fonction doit retourner un vecteur de caractères contenant les noms de tous les articles dont le prix est inférieur ou égal au budget.

Si aucun article n'est abordable, retournez un vecteur de caractères vide en utilisant character(0).

Vous recevrez les entrées suivantes :

  1. Le montant du budget (un nombre)
  2. Une liste de noms d'articles séparés par des virgules (par exemple, apple,banana,steak,bread)
  3. Une liste de prix correspondants séparés par des virgules (par exemple, 2,1,15,3)

Analysez les entrées pour créer un vecteur nommé de prix, appelez votre fonction et affichez le résultat. Utilisez print() pour afficher le vecteur de caractères retourné.

Par exemple, si l'entrée est :

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

La sortie devrait être :

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

Si l'entrée est :

10
laptop,phone,tablet
999,599,399

La sortie devrait être :

character(0)

Conseils :

  • Utilisez strsplit(input, ",")[[1]] pour diviser les chaînes séparées par des virgules en vecteurs
  • Utilisez as.numeric() pour convertir les chaînes de prix en nombres
  • Utilisez names(prices) <- item_names pour créer un vecteur nommé
  • Utilisez l'indexation logique avec names() pour extraire les noms des articles abordables

Essayez vous-même

# Lire l'entrée
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)

# Analyser les entrées
item_names <- strsplit(item_names_input, ",")[[1]]
price_values <- as.numeric(strsplit(prices_input, ",")[[1]])

# Créer un vecteur de prix nommé
prices <- price_values
names(prices) <- item_names

# TODO: Écrivez votre fonction what_to_buy ci-dessous
# La fonction doit prendre le budget et les prix comme arguments
# et retourner un vecteur de caractères des noms d'articles abordables


# Appeler la fonction et afficher le résultat
result <- what_to_buy(budget, prices)
print(result)

Toutes les leçons de Fondamentaux