Ad
  • Default User Avatar

    This solution is off by 1 for every perfect square greater than 1.

  • Default User Avatar

    Thanks, that one took me a while. Thought it was looking for a particular error message!

  • Custom User Avatar

    Fixed. Now the tests expect you to throw an error, as per description.

  • Default User Avatar

    Ok, so if anyone is wondering why your JavaScript code is failing the tests for non-decimal strings it's because you're not actually supposed to throw an error (despite what the description says). In the event of an empty or non-decimal string simply return false.

  • Default User Avatar

    Just figured out that this is due to JavaScript's built-in limitations. Try printing the result of dividing any odd number with more than 16 digits and you'll see it returns an integer rather than a number ending in .5.

  • Default User Avatar

    I had assumed that some of the tests would involve very large numbers that would render a brute force approach futile and so I spent a fair amount of time researching Faulhaber's Formula and algorithms for calculation of Bernoulli numbers. While taking a pause I tried the simple for loop approach on a lark and was shocked to see it pass all the tests.

    It's always satisfying to see ones points go up but I think the tests need to require a more optimized solution in order for this to be 4 kyu.

  • Default User Avatar

    Great kata! Made me learn how to use regular expressions.

  • Default User Avatar

    Great Kata. My first introduction to the concept of Finite State Machines!

  • Default User Avatar

    This comment is hidden because it contains spoiler information about the solution

  • Default User Avatar

    Ok. Just a string. Now if only I knew what the function is expected to return in case of an empty input array...

  • Default User Avatar

    I hadn't checked with the sample tests. I'd just read the instructions which lists several formats for acceptable results, of which one appears to be an array of arrays [ [numer_1, denom_1] , ... [numer_n, denom_n] ]. I've only been learning Javascript for a few months and am not sure whether (numer_1, D)(number_2, D)... simply means a string of literal parentheses and commas concatenated with the values of the numerators and lcd or whether this is a special structure that I haven't yet learned about.

  • Custom User Avatar

    Did you check what is expected by sample tests? In sample tests you can see that the answer should be an appropriatelly formatted string. Parentheses, nubmers and commas are parts of the string.

  • Default User Avatar

    Question regarding the required syntax for the solution (Javascript). My solution returns the correct numerators and denominators but is rejected due to syntax. Specifically, I wrote the function to return an array of 2-item arrays (each one consisting of the numerator and least common denominator). I see that instead of returning, e.g. [[6, 12], [3, 12], [4, 12]], my function should return (6, 12), (3, 12), (4, 12).

    My question is are the expected parentheses and commas simply string literals? Or is this some data structure with which I'm not yet familiar?