curriculum/challenges/english/blocks/daily-coding-challenges-javascript/69373793f5a867f769cde13a.md
Given an integer representing the size of your farm field, and "acres" or "hectares" representing the unit for the size of your farm field, and a type of crop, determine how many plants of that type you can fit in your field.
Here's a list of crops that will be given as input and how much space a single plant takes:
| Crop | Space per plant |
|---|---|
"corn" | 1 square meter |
"wheat" | 0.1 square meters |
"soybeans" | 0.5 square meters |
"tomatoes" | 0.25 square meters |
"lettuce" | 0.2 square meters |
Return the number of plants that fit in the field, rounded down to the nearest whole plant.
getNumberOfPlants(1, "acres", "corn") should return 4046.
assert.equal(getNumberOfPlants(1, "acres", "corn"), 4046);
getNumberOfPlants(2, "hectares", "lettuce") should return 100000.
assert.equal(getNumberOfPlants(2, "hectares", "lettuce"), 100000);
getNumberOfPlants(20, "acres", "soybeans") should return 161874.
assert.equal(getNumberOfPlants(20, "acres", "soybeans"), 161874);
getNumberOfPlants(3.75, "hectares", "tomatoes") should return 150000.
assert.equal(getNumberOfPlants(3.75, "hectares", "tomatoes"), 150000);
getNumberOfPlants(16.75, "acres", "tomatoes") should return 271139.
assert.equal(getNumberOfPlants(16.75, "acres", "tomatoes"), 271139);
function getNumberOfPlants(fieldSize, unit, crop) {
return fieldSize;
}
function getNumberOfPlants(fieldSize, unit, crop) {
const cropSpace = {
corn: 1,
wheat: 0.1,
soybeans: 0.5,
tomatoes: 0.25,
lettuce: 0.2
};
let fieldInSqM = unit === "acres" ? fieldSize * 4046.86 : fieldSize * 10000;
return Math.floor(fieldInSqM / cropSpace[crop.toLowerCase()]);
}