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:
function 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–2021 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.
문제 이해해보기:
1. 첫번쨰 점프시 높이 X에서 정해진 높이 Y를 뺴준다.
2. 두번쨰 점프시 포지션 D만큼 규칙적으로 뛴다.
3. Y를 넘는 횟수를 측정
결론: Math.ceil로 올림으로 처리하였다. floor로 처리 했을경우는 테스트 케이스에 문제가 생기는 경우가 있었음.
function solution(X, Y, D) {
let result = Y - X;
const answer = result / D;
return Math.ceil(answer);
}
'IT > Algorithm' 카테고리의 다른 글
코딜리티(Codility) Lesson3 TapeEquilibrium 문제풀기 (0) | 2021.03.04 |
---|---|
코딜리티(Codility) Lesson3 PermMissingElem 문제풀기 (0) | 2021.03.02 |
코딜리티(Codility) Lesson2 OddOccurrencesInArray 문제풀기 (javascript) (0) | 2021.02.28 |
코딜리티(Codility) Lesson2 CyclicRotation 문제풀기 (javascript) (0) | 2021.02.24 |
코딜리티 Lesson1 binary gap 문제풀기 (javascript) (1) | 2021.02.22 |