Menu
Coddy logo textTech

O Que Comprar

Parte da seção Fundamentos do Journey de R da Coddy — lição 78 de 78.

challenge icon

Desafio

Fácil

Crie uma função chamada what_to_buy que receba dois argumentos: budget (um valor numérico) e prices (um vetor nomeado de preços de itens). A função deve retornar um vetor de caracteres contendo os nomes de todos os itens com preços menores ou iguais ao orçamento.

Se nenhum item for acessível, retorne um vetor de caracteres vazio usando character(0).

Você receberá as seguintes entradas:

  1. O valor do orçamento (um número)
  2. Uma lista de nomes de itens separados por vírgula (ex: apple,banana,steak,bread)
  3. Uma lista de preços correspondentes separados por vírgula (ex: 2,1,15,3)

Analise as entradas para criar um vetor nomeado de preços, chame sua função e imprima o resultado. Use print() para exibir o vetor de caracteres retornado.

Por exemplo, se a entrada for:

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

A saída deve ser:

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

Se a entrada for:

10
laptop,phone,tablet
999,599,399

A saída deve ser:

character(0)

Dicas:

  • Use strsplit(input, ",")[[1]] para dividir strings separadas por vírgula em vetores
  • Use as.numeric() para converter as strings de preço em números
  • Use names(prices) <- item_names para criar um vetor nomeado
  • Use indexação lógica com names() para extrair os nomes dos itens acessíveis

Experimente você mesmo

# Ler a entrada
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)

# Analisar as entradas
item_names <- strsplit(item_names_input, ",")[[1]]
price_values <- as.numeric(strsplit(prices_input, ",")[[1]])

# Criar um vetor nomeado de preços
prices <- price_values
names(prices) <- item_names

# TODO: Escreva sua função what_to_buy abaixo
# A função deve receber budget e prices como argumentos
# e retornar um vetor de caracteres com os nomes dos itens acessíveis


# Chamar a função e imprimir o resultado
result <- what_to_buy(budget, prices)
print(result)

Todas as lições de Fundamentos