[파이썬][Codility_][코디리티] FrogJmp
1. 문제
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. Copyright 2009–2022 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.
출처: Codility_, https://app.codility.com/programmers/
2. 해결방법 시간복잡도
- 단순 코딩 O(1)
3. 문제 해결 및 코드
-
주석을 참고하면서 이해를 돕습니다.
4. 알고리즘 및 해설
- 문제의 요점은 개구리가 현재 위치에서 목표지점까지 몇 번을 뛰어야하냐는 것이다.
- 목표지점까지의 거리를 점프하는 거리로 나누어주되, 그 값을 반올림해준다.
- 소수점단위로 뛸 수는 없기떄문에 math.ceil() 함수를 이용해서 반올림한다.
5. 알아두면 좋은 정보
- 문제 자체는 간단하나 math 라이브러리를 사용해서 보다 쉽게 문제 해결이 가능하다.