Task description
A small frog wants to get to the other side of the road. The frog is currently located at position X and wants to get to a position greater than or equal to Y. The small frog always jumps a fixed distance, D.
Count the minimal number of jumps that the small frog must perform to reach its target.
Write a function:
- def solution(X, Y, D)
that, given three integers X, Y and D, returns the minimal number of jumps from position X to a position equal to or greater than Y.
For example, given:
X = 10
Y = 85
D = 30
the function should return 3, because the frog will be positioned as follows:
- after the first jump, at position 10 + 30 = 40
- after the second jump, at position 10 + 30 + 30 = 70
- after the third jump, at position 10 + 30 + 30 + 30 = 100
Write an efficient algorithm for the following assumptions:
- X, Y and D are integers within the range [1..1,000,000,000];
- X ≤ Y.
Code
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(X, Y, D):
# write your code in Python 3.6
# frog가 가야 할 거리 정의
distance = Y - X
# distance가 0인 경우 0 반환
if distance == 0:
answer = 0
# distance를 D로 나누어 나머지가 0일 경우 몫 반환
elif distance % D == 0 :
answer = int(distance / D)
# distance를 D로 나누어 나머지가 0이 아닐 경우 몫 + 1 반환
else:
answer = int(distance / D) + 1
return answer
'Programming > 코테' 카테고리의 다른 글
Codility - Lesson 4 - 1. FrogRiverOne (0) | 2021.01.05 |
---|---|
Codility - Lesson 3 - 3. TapeEquilibrium (0) | 2021.01.03 |
Codility - Lesson 3 - 2. PermMissingElem (0) | 2021.01.03 |
Codility - Lesson 2 - 1. CyclicRotation (0) | 2020.12.09 |
Codility - Lesson 1 - 1. BinaryGap (0) | 2020.12.08 |