Solution to Frog-Jmp by codility

15 Jan

Question: https://codility.com/demo/take-sample-test/frog_jmp

Question Name: FrogJmp

This is a very easy question. If with C, one statement is enought.

UPDATE on 2017/11/29: Codility changed Python from 2.X to 3.X. So the integer division needs to be updated to “//” from “/”.

39 Replies to “Solution to Frog-Jmp by codility

  1. ‘my solution in vb.net….

  2. Solution in C#

    • Please don’t take it personally, I just try to think loud…
      This is a perfect example where codility gives 100/100 points for a code, that runs perfectly, but has readability issues. Inappropriate usage of var is pretty subjective, I know. It’s really useful in many cases, but this is a typical situation where it has a negative effect on readability.
      Although I am not sure, how could such readability aspects be automatically checked.

      • I am not a C# expert. And I do not know the negative effect of var.
        However, I hope this community be open-minded. Any technique discussion without personal attacks is welcome!

  3. Solution in JavaScript

  4. in PHP:

  5. Quick solution for Pascal (100%)

  6. These solutions are nice, but modulo is expensive. pseudo: diff := x-y, steps := diff/d, if steps*d < diff: steps++. The multiplication is cheaper than a second division.

    • Sure, there is some space in the original solution to improve. And your suggestion is very awesome!
      PS: as long as the solution passed the test, the readability comes first, for the blog post.

  7. Why not:

  8. Your code is missing a line for no jump.

  9. return (int)Math.Ceiling((Y – X) / (decimal)D);
    P.S. I just saw someone posted this solution in PHP. But still… here it is in C# 🙂

  10. My Java solution (100%)

    • Thanks for your feedback! The solution is updated, since Codility changed from Python 2.X to Python 3.X. The concept is still working well.

  11. Python Solution:

  12. Java %100 🙂

  13. hi. I know it’s silly question. I don’t understand the program, because I am a beginner. for a first jump, The value of distance is 75, , 75%30 !=0, So 75//31 returns 2 right(remainder is 2). how it returns 3? Actually, I am confusing myself. please answer this.

    • I do not know your input…. But my guess is that, since 75%30 !=0, we are returning “return distance//D + 1”, that is 3.

  14. For some reason, the dist mod D method and adding one didn’t work for me, broke at higher numbers and failed, so I used VB round up function aka ceiling to get 100.

    Analysis summary
    The solution obtained perfect score.

    Analysis
    Detected time complexity:
    O(1)

Leave a Reply

Your email address will not be published. Required fields are marked *

Please put your code into a <pre>YOUR CODE</pre> section. Thanks and Happy Coding!