Growing Plant
Caring for a plant can be hard work, but since you tend to it regularly, you have a plant that grows consistently. Each day, its height increases by a fixed amount represented by the integer upSpeed
. But due to lack of sunlight, the plant decreases in height every night, by an amount represented by downSpeed
.
Since you grew the plant from a seed, it started at height 0
initially. Given an integer desiredHeight
, your task is to find how many days it'll take for the plant to reach this height.
Example
For upSpeed = 100
, downSpeed = 10
, and desiredHeight = 910
, the output should be
growing_plant(upSpeed, downSpeed, desiredHeight) = 10
# | Day | Night |
---|---|---|
1 | 100 | 90 |
2 | 190 | 180 |
3 | 280 | 270 |
4 | 370 | 360 |
5 | 460 | 450 |
6 | 550 | 540 |
7 | 640 | 630 |
8 | 730 | 720 |
9 | 820 | 810 |
10 | 910 | 900 |
The plant first reaches a height of 910
on day 10
.
Solution
py
def growing_plant(up_speed, down_speed, desired_height):
height = 0
day = 0
while height < desired_height:
day += 1
height += up_speed
if height >= desired_height:
break
height -= down_speed
return day
print(growing_plant(6, 5, 10))
js
function growingPlant(upSpeed, downSpeed, desiredHeight) {
let days = 0;
let height = 0;
while (height < desiredHeight) {
days++;
height += upSpeed;
if (height >= desiredHeight) {
break;
}
height -= downSpeed;
}
return days;
}
console.log(growingPlant(6, 5, 10));