【Codility Lesson3】FrogJmp

Codility의 추천 ~JavaScript로 해결하는 알고리즘~ 의 실천편입니다.

문제



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.

어휘 메모


  • located at position X 위치 X에 있습니다
  • greater than or equal to Y Y 이상
  • must perform to reach its target. 대상에 도달하려면 실행해야 함
  • Write an efficient algorithm for the following assumptions: (:) 가정을위한 효율적인 알고리즘을 작성하십시오

  • 해법



    필요 지식


  • parseInt()
  • 삼항 연산자

  • 굵은 글씨로 하는 것은 첫견이었습니다.
    function solution(X, Y, D) {
      // write your code in JavaScript (Node.js 8.9.4)
      if (X >= Y) {
        return 0;
      } else if (D >= X + Y) {
        return 1;
      } else {
        let minimalJumps = parseInt((Y - X) / D);
        minimalJumps += (Y - X) % D > 0 ? 1 : 0;
        return minimalJumps;
      }
    }
    

    비교적 간단했습니다.

    참고



    알고리즘 도감 그림에서 보는 26개의 알고리즘 세계에서 가장 강력한 9 알고리즘 어쨌든! 알고리즘 최초의 JavaScript 제3판 ―ES2015 이후의 최신 웹 개발 철저 예해 로얄 영문법 개정 신판 <

    좋은 웹페이지 즐겨찾기